diff --git a/libguile/Makefile.am b/libguile/Makefile.am index 5ffb6f67d..f130dfcc4 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -604,7 +604,8 @@ version.h: version.h.in $(top_builddir)/config.status sed < $(srcdir)/version.h.in > $@.tmp \ -e s:@-GUILE_MAJOR_VERSION-@:${GUILE_MAJOR_VERSION}: \ -e s:@-GUILE_MINOR_VERSION-@:${GUILE_MINOR_VERSION}: \ - -e s:@-GUILE_MICRO_VERSION-@:${GUILE_MICRO_VERSION}: + -e s:@-GUILE_MICRO_VERSION-@:${GUILE_MICRO_VERSION}: \ + -e s:@-GUILE_EFFECTIVE_VERSION-@:${GUILE_EFFECTIVE_VERSION}: mv $@.tmp $@ ## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds. diff --git a/libguile/version.c b/libguile/version.c index db1bc9f2e..f1bd3c3f9 100644 --- a/libguile/version.c +++ b/libguile/version.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995,1996, 1999, 2000, 2001, 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996, 1999, 2000, 2001, 2006, 2008, 2010 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -105,14 +105,7 @@ SCM_DEFINE (scm_effective_version, "effective-version", 0, 0, 0, "@end lisp") #define FUNC_NAME s_scm_effective_version { - - char version_str[2 * 4 + 3]; - -#if (SCM_MAJOR_VERSION > 9999 || SCM_MINOR_VERSION > 9999) -# error version string may overflow buffer -#endif - sprintf (version_str, "%d.%d", SCM_MAJOR_VERSION, SCM_MINOR_VERSION); - return scm_from_locale_string (version_str); + return scm_from_locale_string (SCM_EFFECTIVE_VERSION); } #undef FUNC_NAME diff --git a/libguile/version.h.in b/libguile/version.h.in index 394bbdb86..49d26c245 100644 --- a/libguile/version.h.in +++ b/libguile/version.h.in @@ -3,7 +3,7 @@ #ifndef SCM_VERSION_H #define SCM_VERSION_H -/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2006, 2008, 2010 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -30,6 +30,7 @@ #define SCM_MAJOR_VERSION @-GUILE_MAJOR_VERSION-@ #define SCM_MINOR_VERSION @-GUILE_MINOR_VERSION-@ #define SCM_MICRO_VERSION @-GUILE_MICRO_VERSION-@ +#define SCM_EFFECTIVE_VERSION "@-GUILE_EFFECTIVE_VERSION-@" SCM_API SCM scm_major_version (void); SCM_API SCM scm_minor_version (void); diff --git a/test-suite/tests/version.test b/test-suite/tests/version.test index 5b7acc93d..178928768 100644 --- a/test-suite/tests/version.test +++ b/test-suite/tests/version.test @@ -1,7 +1,7 @@ ;;;; versions.test --- test suite for Guile's version functions -*- scheme -*- ;;;; Greg J. Badros ;;;; -;;;; Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc. +;;;; Copyright (C) 2000, 2001, 2006, 2010 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -26,7 +26,4 @@ (string=? (version) (string-append (major-version) "." (minor-version) "." - (micro-version))) - (string=? (effective-version) - (string-append (major-version) "." - (minor-version))))) + (micro-version)))))