From 16fab14354e612a22b5dea21b4106555fb05f712 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 31 Jan 2011 00:12:52 -0800 Subject: [PATCH] src/emacs.c now gets version number from configure.in --- ChangeLog | 8 ++++++++ admin/ChangeLog | 7 +++++++ admin/admin.el | 3 --- admin/quick-install-emacs | 6 ++++-- configure | 11 +---------- configure.in | 10 +--------- lib-src/ChangeLog | 5 +++++ lib-src/ebrowse.c | 4 ++-- make-dist | 4 +++- src/ChangeLog | 6 ++++++ src/emacs.c | 4 +--- 11 files changed, 38 insertions(+), 30 deletions(-) diff --git a/ChangeLog b/ChangeLog index bded0a2292..20d9e4dbc5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-01-31 Paul Eggert + + src/emacs.c now gets version number from configure.in + * configure.in (version): Set this from $PACKAGE_VERSION, + which is set from AC_INIT, rather than scouting through src/emacs.c. + * configure: Regenerate. + * make-dist (version): Get it from configure.in, not src/emacs.c. + 2011-01-30 Paul Eggert strftime: import from gnulib diff --git a/admin/ChangeLog b/admin/ChangeLog index 04fcf732bd..6f2ac5d67d 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,10 @@ +2011-01-31 Paul Eggert + + src/emacs.c now gets version number from configure.in + * admin.el (set-version): Don't update src/emacs.c. + * quick-install-emacs (VERSION): Get it from configure.in, not from + src/emacs.c. + 2011-01-30 Paul Eggert strftime: import from gnulib diff --git a/admin/admin.el b/admin/admin.el index 5365cc77d2..739c769b35 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -59,9 +59,6 @@ Root must be the root of an Emacs source tree." (interactive "DEmacs root directory: \nsVersion number: ") (unless (file-exists-p (expand-file-name "src/emacs.c" root)) (error "%s doesn't seem to be the root of an Emacs source tree" root)) - (set-version-in-file root "src/emacs.c" version - (rx (and "emacs_version" (0+ (not (in ?\"))) - ?\" (submatch (1+ (not (in ?\")))) ?\"))) (set-version-in-file root "README" version (rx (and "version" (1+ space) (submatch (1+ (in "0-9.")))))) diff --git a/admin/quick-install-emacs b/admin/quick-install-emacs index 0711f8e4b4..841a895248 100755 --- a/admin/quick-install-emacs +++ b/admin/quick-install-emacs @@ -170,8 +170,10 @@ test x"$SRC" = x && { SRC="`get_config_var srcdir`" || exit 4 ; } test x"$prefix" = x && { prefix="`get_config_var prefix`" || exit 4 ; } test x"$ARCH" = x && { ARCH="`get_config_var host`" || exit 4 ; } -VERSION=`grep 'char emacs_version' $SRC/src/emacs.c \ - | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'` +VERSION=` + sed -n 's/^AC_INIT(emacs,[ ]*\([^ )]*\).*/\1/p' <$SRC/configure.in +` || exit 4 +test -n "$VERSION" || { echo >&2 "$me: no version in configure.in"; exit 4; } DST_SHARE="$prefix/share/emacs/$VERSION" DST_BIN="$prefix/bin" diff --git a/configure b/configure index aea8d2d079..bf79cecf5b 100755 --- a/configure +++ b/configure @@ -16986,16 +16986,7 @@ if test "x$GCC" = xyes \ as_fn_error $? "GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." "$LINENO" 5 fi -#### Find out which version of Emacs this is. -version=`grep 'const char emacs_version' ${srcdir}/src/emacs.c \ - | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'` -if test x"${version}" = x; then - as_fn_error $? "can't find current emacs version in \`${srcdir}/src/emacs.c'." "$LINENO" 5 -fi -if test x"${version}" != x"$PACKAGE_VERSION"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/src/emacs.c'." >&5 -$as_echo "$as_me: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/src/emacs.c'." >&2;} -fi +version=$PACKAGE_VERSION ### Specify what sort of things we'll be editing into Makefile and config.h. ### Use configuration here uncanonicalized to avoid exceeding size limits. diff --git a/configure.in b/configure.in index 627b76af59..315840e014 100644 --- a/configure.in +++ b/configure.in @@ -3070,15 +3070,7 @@ if test "x$GCC" = xyes \ AC_MSG_ERROR([GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'.]) fi -#### Find out which version of Emacs this is. -[version=`grep 'const char emacs_version' ${srcdir}/src/emacs.c \ - | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`] -if test x"${version}" = x; then - AC_MSG_ERROR([can't find current emacs version in `${srcdir}/src/emacs.c'.]) -fi -if test x"${version}" != x"$PACKAGE_VERSION"; then - AC_MSG_WARN([version mismatch between `${srcdir}/configure.in' and `${srcdir}/src/emacs.c'.]) -fi +version=$PACKAGE_VERSION ### Specify what sort of things we'll be editing into Makefile and config.h. ### Use configuration here uncanonicalized to avoid exceeding size limits. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 6428819daa..3f7a17e2db 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2011-01-31 Paul Eggert + + src/emacs.c now gets version number from configure.in + * ebrowse.c: Adjust comment to say that. + 2011-01-30 Jim Meyering make-docfile: don't corrupt heap for an invalid .elc file diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c index 87d6938284..59a1dde763 100644 --- a/lib-src/ebrowse.c +++ b/lib-src/ebrowse.c @@ -3565,7 +3565,7 @@ usage (int error) /* Display version and copyright info. The VERSION macro is set - from the Makefile and contains the Emacs version. */ + from config.h and contains the Emacs version. */ #ifndef VERSION # define VERSION "21" @@ -3812,7 +3812,7 @@ main (int argc, char **argv) yyerror ("error getting size of file `%s'", out_filename); exit (EXIT_FAILURE); } - + else if (rc == 0) { yyerror ("file `%s' is empty", out_filename); diff --git a/make-dist b/make-dist index da09c7096f..37e0fb3e64 100755 --- a/make-dist +++ b/make-dist @@ -146,7 +146,9 @@ then fi ### Find out which version of Emacs this is. -version=`sed -n '/char emacs_version/ s/^[^"]*"\([^"]*\)".*$/\1/p' src/emacs.c` +version=` + sed -n 's/^AC_INIT(emacs,[ ]*\([^ )]*\).*/\1/p' &2 exit 1 diff --git a/src/ChangeLog b/src/ChangeLog index 393223c080..5a3c34dcc2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2011-01-31 Paul Eggert + + src/emacs.c now gets version number from configure.in + * emacs.c (emacs_version): Set to VERSION so that it + is determined automatically from ../configure.in. + 2011-01-30 Paul Eggert strftime: import from gnulib diff --git a/src/emacs.c b/src/emacs.c index e696c82029..53786b0ada 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -88,9 +88,7 @@ along with GNU Emacs. If not, see . */ #endif #endif -/* If you change the following line, remember to update - msdos/mainmake.v2 which gleans the Emacs version from it! */ -static const char emacs_version[] = "24.0.50"; +static const char emacs_version[] = VERSION; static const char emacs_copyright[] = "Copyright (C) 2011 Free Software Foundation, Inc."; /* Make these values available in GDB, which doesn't see macros. */ -- 2.20.1