From a16d6f90eee0668d3658e5a9ad89854a8d95a99a Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 9 Nov 2014 16:17:17 -0800 Subject: [PATCH] Stop keeping doc/emacs/emacsver.texi in the repository * configure.ac (doc/emacs/emacsver.texi): Generate it. * make-dist (doc/emacs/emacsver.texi) [update]: No longer check it. * doc/emacs/Makefile.in (top_srcdir, version): New, set by configure. (doc-emacsver): New rule. (bootstrap-clean, maintainer-clean): Delete emacsver.texi. (emacsver.texi.in): Rename from emacsver.texi. * admin/admin.el (set-version): No need to update doc/emacs/emacsver.texi. (make-manuals-dist-output-variables): Add top_srcdir. (make-manuals-dist--1): Handle @version@ specially. * .bzrignore: Add doc/emacs/emacsver.texi. --- ChangeLog | 13 ++++++++----- admin/ChangeLog | 6 ++++++ admin/admin.el | 17 ++++++++--------- configure.ac | 5 +++++ doc/emacs/ChangeLog | 7 +++++++ doc/emacs/Makefile.in | 17 +++++++++++++++++ doc/emacs/emacsver.texi | 4 ---- doc/emacs/emacsver.texi.in | 2 ++ make-dist | 5 ++--- 9 files changed, 55 insertions(+), 21 deletions(-) delete mode 100644 doc/emacs/emacsver.texi create mode 100644 doc/emacs/emacsver.texi.in diff --git a/ChangeLog b/ChangeLog index 24e883b3cea..07c334c3548 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,15 @@ +2014-11-10 Glenn Morris + + * configure.ac (doc/emacs/emacsver.texi): Generate it. + * make-dist (doc/emacs/emacsver.texi) [update]: No longer check it. + 2014-11-08 Dani Moncayo - * build-aux/msys-to-w32: simplify the initial over-engineered + * build-aux/msys-to-w32: Simplify the initial over-engineered interface, and the implementation. * Makefile.in (epaths-force-w32): Update for the above. Also - simplify, assuming that the shell is bash (which is the case in - MSYS). - (msys_w32prefix_subst, msys_sed_sh_escape): Remove (no longer - used). + simplify, assuming that the shell is bash (which is the case in MSYS). + (msys_w32prefix_subst, msys_sed_sh_escape): Remove (no longer used). 2014-11-05 Glenn Morris diff --git a/admin/ChangeLog b/admin/ChangeLog index e85c21a6cf9..2ec447b133c 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,9 @@ +2014-11-10 Glenn Morris + + * admin.el (set-version): No need to update doc/emacs/emacsver.texi. + (make-manuals-dist-output-variables): Add top_srcdir. + (make-manuals-dist--1): Handle @version@ specially. + 2014-11-09 Eric Ludlam * grammars/c.by (template-type): Add :template-specifier and diff --git a/admin/admin.el b/admin/admin.el index 48e083d7789..14d851eb202 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -94,9 +94,6 @@ Root must be the root of an Emacs source tree." (rx (and "AC_INIT" (1+ (not (in ?,))) ?, (0+ space) (submatch (1+ (in "0-9.")))))) - (set-version-in-file root "doc/emacs/emacsver.texi" version - (rx (and "EMACSVER" (1+ space) - (submatch (1+ (in "0-9.")))))) (set-version-in-file root "doc/man/emacs.1" version (rx (and ".TH EMACS" (1+ not-newline) "GNU Emacs" (1+ space) @@ -611,7 +608,7 @@ style=\"text-align:left\">") (defconst make-manuals-dist-output-variables - `(("@srcdir@" . ".") + `(("@\\(top_\\)?srcdir@" . ".") ; top_srcdir is wrong, but not used ("^\\(\\(?:texinfo\\|buildinfo\\|emacs\\)dir *=\\).*" . "\\1 .") ("^\\(clean:.*\\)" . "\\1 infoclean") ("@MAKEINFO@" . "makeinfo") @@ -655,11 +652,13 @@ style=\"text-align:left\">") (string-match-p "\\.\\(eps\\|pdf\\)\\'" file))) (copy-file file stem))) (with-temp-buffer - (insert-file-contents (format "../doc/%s/Makefile.in" type)) - (dolist (cons make-manuals-dist-output-variables) - (while (re-search-forward (car cons) nil t) - (replace-match (cdr cons) t)) - (goto-char (point-min))) + (let ((outvars make-manuals-dist-output-variables)) + (push `("@version@" . ,version) outvars) + (insert-file-contents (format "../doc/%s/Makefile.in" type)) + (dolist (cons outvars) + (while (re-search-forward (car cons) nil t) + (replace-match (cdr cons) t)) + (goto-char (point-min)))) (let (ats) (while (re-search-forward "@[a-zA-Z_]+@" nil t) (setq ats t) diff --git a/configure.ac b/configure.ac index cb42ed6c724..f7aa407265d 100644 --- a/configure.ac +++ b/configure.ac @@ -5174,6 +5174,11 @@ if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then fi ]) +AC_CONFIG_COMMANDS([doc/emacs/emacsver.texi], [ +${MAKE-make} -s --no-print-directory -C doc/emacs doc-emacsver || \ +AC_MSG_ERROR(['doc/emacs/emacsver.texi' could not be made.]) +]) + AC_OUTPUT test "$MAKE" = make || AC_MSG_NOTICE([Now you can run '$MAKE'.]) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 0ca6af0e648..68ac9f5af78 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,10 @@ +2014-11-10 Glenn Morris + + * Makefile.in (top_srcdir, version): New, set by configure. + (doc-emacsver): New rule. + (bootstrap-clean, maintainer-clean): Delete emacsver.texi. + (emacsver.texi.in): Rename from emacsver.texi. + 2014-11-09 Juri Linkov * search.texi (Other Repeating Search): Add documentation for diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index 67c324e1f9d..d03a9fc6eac 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in @@ -26,6 +26,10 @@ SHELL = @SHELL@ # of the source tree. This is set by configure's `--srcdir' option. srcdir=@srcdir@ +top_srcdir = @top_srcdir@ + +version = @version@ + ## Where the output files go. ## Note that the setfilename command in the .texi files assumes this. ## This is a bit funny. Because the info files are in the @@ -178,6 +182,18 @@ emacs-xtra.pdf: $(EMACS_XTRA) %.ps: %.dvi $(DVIPS) -o $@ $< +.PHONY: doc-emacsver + +# If configure were to just generate emacsver.texi from emacsver.texi.in +# in the normal way, the timestamp of emacsver.texi would always be +# newer than that of the info files, which are prebuilt in release tarfiles. +# So we use this rule, and move-if-change, to avoid that. +doc-emacsver: + sed 's/[@]version@/${version}/' \ + ${srcdir}/emacsver.texi.in > emacsver.texi.in.$$$$ && \ + ${top_srcdir}/build-aux/move-if-change emacsver.texi.in.$$$$ \ + ${srcdir}/emacsver.texi + .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean infoclean ## Temp files. @@ -200,6 +216,7 @@ infoclean: $(buildinfodir)/emacs.info-[1-9][0-9] bootstrap-clean maintainer-clean: distclean infoclean + rm -f ${srcdir}/emacsver.texi .PHONY: install-dvi install-html install-pdf install-ps install-doc diff --git a/doc/emacs/emacsver.texi b/doc/emacs/emacsver.texi deleted file mode 100644 index ac01c185bc1..00000000000 --- a/doc/emacs/emacsver.texi +++ /dev/null @@ -1,4 +0,0 @@ -@c It would be nicer to generate this using configure and @version@. -@c However, that would mean emacsver.texi would always be newer -@c then the info files in release tarfiles. -@set EMACSVER 25.0.50 diff --git a/doc/emacs/emacsver.texi.in b/doc/emacs/emacsver.texi.in new file mode 100644 index 00000000000..fa685125301 --- /dev/null +++ b/doc/emacs/emacsver.texi.in @@ -0,0 +1,2 @@ +@c configure generates emacsver.texi from emacsver.texi.in via a Makefile rule +@set EMACSVER @version@ diff --git a/make-dist b/make-dist index 3202f1f0e69..bbb0f95bb4c 100755 --- a/make-dist +++ b/make-dist @@ -169,9 +169,8 @@ fi echo Version number is $version if [ $update = yes ]; then - if ! grep -q "@set EMACSVER *${version}" doc/emacs/emacsver.texi || \ - ! grep -q "tree holds version *${version}" README; then - echo "WARNING: README and/or emacsver.texi have the wrong version number" + if ! grep -q "tree holds version *${version}" README; then + echo "WARNING: README has the wrong version number" echo "Consider running M-x set-version from admin/admin.el" sleep 5 fi -- 2.11.4.GIT