diff options
author | Glenn Morris <rgm@gnu.org> | 2014-11-08 18:06:29 -0800 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2014-11-08 18:06:29 -0800 |
commit | da95e2399e068eb87ea90a4617d80980d0601eb4 (patch) | |
tree | 4c2b9ac861c7f37d14950c199dda17dd38226955 | |
parent | 90a1373b4c8e3f646b2b75cb4a12126cd361faa0 (diff) | |
parent | e4ed201ff9e089d8a074523ca7de02c1b84bece2 (diff) | |
download | emacs-da95e2399e068eb87ea90a4617d80980d0601eb4.tar.gz |
Merge from emacs-24; up to 117691
-rw-r--r-- | admin/ChangeLog | 6 | ||||
-rw-r--r-- | admin/admin.el | 81 | ||||
-rw-r--r-- | doc/emacs/ChangeLog | 6 | ||||
-rw-r--r-- | doc/emacs/Makefile.in | 42 | ||||
-rw-r--r-- | doc/lispintro/ChangeLog | 6 | ||||
-rw-r--r-- | doc/lispintro/Makefile.in | 41 | ||||
-rw-r--r-- | doc/lispref/ChangeLog | 6 | ||||
-rw-r--r-- | doc/lispref/Makefile.in | 40 | ||||
-rw-r--r-- | doc/misc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/misc/Makefile.in | 38 |
10 files changed, 111 insertions, 161 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 9470c933264..303da8c020a 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,9 @@ +2014-11-09 Glenn Morris <rgm@gnu.org> + + * admin.el (make-manuals-dist-output-variables) + (make-manuals-dist--1, make-manuals-dist): New. + Replaces doc/*/Makefile.in `dist' rules. + 2014-11-04 Paul Eggert <eggert@cs.ucla.edu> Spelling fixes; tweak explanation of commit messages. diff --git a/admin/admin.el b/admin/admin.el index 7af9ffa4177..48e083d7789 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -610,6 +610,87 @@ style=\"text-align:left\">") (forward-line 1))))) +(defconst make-manuals-dist-output-variables + `(("@srcdir@" . ".") + ("^\\(\\(?:texinfo\\|buildinfo\\|emacs\\)dir *=\\).*" . "\\1 .") + ("^\\(clean:.*\\)" . "\\1 infoclean") + ("@MAKEINFO@" . "makeinfo") + ("@MKDIR_P@" . "mkdir -p") + ("@INFO_EXT@" . ".info") + ("@INFO_OPTS@" . "") + ("@SHELL@" . "/bin/bash") + ("@prefix@" . "/usr/local") + ("@datarootdir@" . "${prefix}/share") + ("@datadir@" . "${datarootdir}") + ("@PACKAGE_TARNAME@" . "emacs") + ("@docdir@" . "${datarootdir}/doc/${PACKAGE_TARNAME}") + ("@\\(dvi\\|html\\|pdf\\|ps\\)dir@" . "${docdir}") + ("@GZIP_PROG@" . "gzip") + ("@INSTALL@" . "install -c") + ("@INSTALL_DATA@" . "${INSTALL} -m 644") + ("@configure_input@" . "")) + "Alist of (REGEXP . REPLACEMENT) pairs for `make-manuals-dist'.") + +(defun make-manuals-dist--1 (root type) + "Subroutine of `make-manuals-dist'." + (let* ((dest (expand-file-name "manual" root)) + (default-directory (progn (make-directory dest t) + (file-name-as-directory dest))) + (version (with-temp-buffer + (insert-file-contents "../doc/emacs/emacsver.texi") + (re-search-forward "@set EMACSVER \\([0-9.]+\\)") + (match-string 1))) + (stem (format "emacs-%s-%s" (if (equal type "emacs") "manual" type) + version)) + (tarfile (format "%s.tar" stem))) + (message "Doing %s..." type) + (if (file-directory-p stem) + (delete-directory stem t)) + (make-directory stem) + (copy-file "../doc/misc/texinfo.tex" stem) + (or (equal type "emacs") (copy-file "../doc/emacs/emacsver.texi" stem)) + (dolist (file (directory-files (format "../doc/%s" type) t)) + (if (or (string-match-p "\\(\\.texi\\'\\|/ChangeLog\\|/README\\'\\)" file) + (and (equal type "lispintro") + (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 (ats) + (while (re-search-forward "@[a-zA-Z_]+@" nil t) + (setq ats t) + (message "Unexpanded: %s" (match-string 0))) + (if ats (error "Unexpanded configure variables in Makefile?"))) + (write-region nil nil (expand-file-name (format "%s/Makefile" stem)) + nil 'silent)) + (call-process "tar" nil nil nil "-cf" tarfile stem) + (delete-directory stem t) + (message "...created %s" tarfile))) + +;; Does anyone actually use these tarfiles? +(defun make-manuals-dist (root &optional type) + "Make the standalone manual source tarfiles for the Emacs webpage. +ROOT should be the root of an Emacs source tree. +Interactively with a prefix argument, prompt for TYPE. +Optional argument TYPE is type of output (nil means all)." + (interactive (let ((root (read-directory-name "Emacs root directory: " + source-directory nil t))) + (list root + (if current-prefix-arg + (completing-read + "Type: " + '("emacs" "lispref" "lispintro" "misc")))))) + (unless (file-exists-p (expand-file-name "src/emacs.c" root)) + (user-error "%s doesn't seem to be the root of an Emacs source tree" root)) + (dolist (m '("emacs" "lispref" "lispintro" "misc")) + (if (member type (list nil m)) + (make-manuals-dist--1 root m)))) + + ;; Stuff to check new `defcustom's got :version tags. ;; Adapted from check-declare.el. diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 9dc3af97788..8e85c890285 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,9 @@ +2014-11-09 Glenn Morris <rgm@gnu.org> + + * Makefile.in (version): Remove variable. + (clean): No longer delete dist tarfile. + (dist): Remove rule; replace with code in admin.el. + 2014-11-03 Glenn Morris <rgm@gnu.org> * programs.texi (Misc for Programs): Fix typo. diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index 352768517fa..67c324e1f9d 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in @@ -26,9 +26,6 @@ SHELL = @SHELL@ # of the source tree. This is set by configure's `--srcdir' option. srcdir=@srcdir@ -# Only for make dist. -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 @@ -191,7 +188,6 @@ mostlyclean: ## Products not in the release tarfiles. clean: mostlyclean rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS) - rm -f emacs-manual-${version}.tar* distclean: clean rm -f Makefile @@ -205,44 +201,6 @@ infoclean: bootstrap-clean maintainer-clean: distclean infoclean -.PHONY: dist - -## Make a standalone tarfile of the Emacs manual sources. -## The [c] is a dumb way to prevent configure expanding it. -## TODO this is getting increasingly lengthy; not sure it is worth keeping. -dist: - rm -rf emacs-manual-${version} - mkdir emacs-manual-${version} - cp ${srcdir}/*.texi ${texinfodir}/texinfo.tex \ - ${srcdir}/ChangeLog* emacs-manual-${version}/ - sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \ - -e 's/^\(buildinfodir *=\).*/\1 ./' \ - -e 's/^\(clean:.*\)/\1 infoclean/' \ - -e "s/@ver[s]ion@/${version}/" \ - -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \ - -e 's/@IN[F]O_EXT@/.info/' -e 's/@IN[F]O_OPTS@//' \ - -e 's|@SH[E]LL@|/bin/bash|' \ - -e 's|@[p]refix@|/usr/local|' \ - -e 's|@[d]atarootdir@|$${prefix}/share|' \ - -e 's|@[d]atadir@|$${datarootdir}|' \ - -e 's|@[P]ACKAGE_TARNAME@|emacs|' \ - -e 's|@[d]ocdir@|$${datarootdir}/doc/$${PACKAGE_TARNAME}|' \ - -e 's|@[d]vidir@|$${docdir}|' \ - -e 's|@[h]tmldir@|$${docdir}|' \ - -e 's|@[p]dfdir@|$${docdir}|' \ - -e 's|@[p]sdir@|$${docdir}|' \ - -e 's|@[G]ZIP_PROG@|gzip|' \ - -e 's|@IN[S]TALL@|install -c|' \ - -e 's|@IN[S]TALL_DATA@|$${INSTALL} -m 644|' \ - -e '/@[c]onfigure_input@/d' \ - ${srcdir}/Makefile.in > emacs-manual-${version}/Makefile - @if grep '@[a-zA-Z_]*@' emacs-manual-${version}/Makefile; then \ - echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \ - fi - tar -cf emacs-manual-${version}.tar emacs-manual-${version} - rm -rf emacs-manual-${version} - - .PHONY: install-dvi install-html install-pdf install-ps install-doc install-dvi: dvi diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 37f8ac9da0e..572875c151a 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,9 @@ +2014-11-09 Glenn Morris <rgm@gnu.org> + + * Makefile.in (version): Remove variable. + (clean): No longer delete dist tarfile. + (dist): Remove rule; replace with code in admin.el. + 2014-10-20 Glenn Morris <rgm@gnu.org> * Merge in all changes up to 24.4 release. diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in index 49d3fe3c957..4bcbb53ad9a 100644 --- a/doc/lispintro/Makefile.in +++ b/doc/lispintro/Makefile.in @@ -19,10 +19,7 @@ SHELL = @SHELL@ -# NB If you add any more configure variables, -# update the sed rules in the dist target below. srcdir = @srcdir@ -version=@version@ buildinfodir = $(srcdir)/../../info # Directory with the (customized) texinfo.tex file. @@ -108,7 +105,6 @@ mostlyclean: clean: mostlyclean rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS) - rm -f emacs-lispintro-${version}.tar* distclean: clean rm -f Makefile @@ -120,43 +116,6 @@ infoclean: bootstrap-clean maintainer-clean: distclean infoclean -.PHONY: dist - -dist: - rm -rf emacs-lispintro-${version} - mkdir emacs-lispintro-${version} - cp ${srcdir}/*.texi ${srcdir}/*.eps ${srcdir}/*.pdf \ - ${texinfodir}/texinfo.tex ${emacsdir}/emacsver.texi \ - ${srcdir}/ChangeLog* ${srcdir}/README emacs-lispintro-${version}/ - sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \ - -e 's/^\(emacsdir *=\).*/\1 ./' \ - -e 's/^\(buildinfodir *=\).*/\1 ./' \ - -e 's/^\(clean:.*\)/\1 infoclean/' \ - -e "s/@ver[s]ion@/${version}/" \ - -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \ - -e 's/@IN[F]O_EXT@/.info/' -e 's/@IN[F]O_OPTS@//' \ - -e 's|@SH[E]LL@|/bin/bash|' \ - -e 's|@[p]refix@|/usr/local|' \ - -e 's|@[d]atarootdir@|$${prefix}/share|' \ - -e 's|@[d]atadir@|$${datarootdir}|' \ - -e 's|@[P]ACKAGE_TARNAME@|emacs|' \ - -e 's|@[d]ocdir@|$${datarootdir}/doc/$${PACKAGE_TARNAME}|' \ - -e 's|@[d]vidir@|$${docdir}|' \ - -e 's|@[h]tmldir@|$${docdir}|' \ - -e 's|@[p]dfdir@|$${docdir}|' \ - -e 's|@[p]sdir@|$${docdir}|' \ - -e 's|@[G]ZIP_PROG@|gzip|' \ - -e 's|@IN[S]TALL@|install -c|' \ - -e 's|@IN[S]TALL_DATA@|$${INSTALL} -m 644|' \ - -e '/@[c]onfigure_input@/d' \ - ${srcdir}/Makefile.in > emacs-lispintro-${version}/Makefile - @if grep '@[a-zA-Z_]*@' emacs-lispintro-${version}/Makefile; then \ - echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \ - fi - tar -cf emacs-lispintro-${version}.tar emacs-lispintro-${version} - rm -rf emacs-lispintro-${version} - - .PHONY: install-dvi install-html install-pdf install-ps install-doc install-dvi: dvi diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 9a7a6c8c8a6..83a842372a0 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2014-11-09 Glenn Morris <rgm@gnu.org> + + * Makefile.in (version): Remove variable. + (clean): No longer delete dist tarfile. + (dist): Remove rule; replace with code in admin.el. + 2014-11-07 Martin Rudalics <rudalics@gmx.at> * frames.texi (Size and Position): Rewrite description of diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index 22955fb9bae..11cc0ecc10e 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -25,8 +25,6 @@ SHELL = @SHELL@ # Standard configure variables. srcdir = @srcdir@ -version=@version@ - buildinfodir = $(srcdir)/../../info # Directory with the (customized) texinfo.tex file. texinfodir = $(srcdir)/../misc @@ -164,7 +162,6 @@ mostlyclean: clean: mostlyclean rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS) rm -f vol[12].dvi vol[12].pdf vol[12].ps - rm -f emacs-lispref-${version}.tar* distclean: clean rm -f Makefile @@ -177,43 +174,6 @@ infoclean: bootstrap-clean maintainer-clean: distclean infoclean -.PHONY: dist - -## Note this excludes the two-volume stuff. -dist: - rm -rf emacs-lispref-${version} - mkdir emacs-lispref-${version} - cp ${srcdir}/*.texi ${texinfodir}/texinfo.tex \ - $(emacsdir)/emacsver.texi ${srcdir}/ChangeLog* \ - ${srcdir}/README emacs-lispref-${version}/ - sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \ - -e 's/^\(emacsdir *=\).*/\1 ./' \ - -e 's/^\(buildinfodir *=\).*/\1 ./' \ - -e 's/^\(clean:.*\)/\1 infoclean/' \ - -e "s/@ver[s]ion@/${version}/" \ - -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \ - -e 's/@IN[F]O_EXT@/.info/' -e 's/@IN[F]O_OPTS@//' \ - -e 's|@SH[E]LL@|/bin/bash|' \ - -e 's|@[p]refix@|/usr/local|' \ - -e 's|@[d]atarootdir@|$${prefix}/share|' \ - -e 's|@[d]atadir@|$${datarootdir}|' \ - -e 's|@[P]ACKAGE_TARNAME@|emacs|' \ - -e 's|@[d]ocdir@|$${datarootdir}/doc/$${PACKAGE_TARNAME}|' \ - -e 's|@[d]vidir@|$${docdir}|' \ - -e 's|@[h]tmldir@|$${docdir}|' \ - -e 's|@[p]dfdir@|$${docdir}|' \ - -e 's|@[p]sdir@|$${docdir}|' \ - -e 's|@[G]ZIP_PROG@|gzip|' \ - -e 's|@IN[S]TALL@|install -c|' \ - -e 's|@IN[S]TALL_DATA@|$${INSTALL} -m 644|' \ - -e '/@[c]onfigure_input@/d' \ - ${srcdir}/Makefile.in > emacs-lispref-${version}/Makefile - @if grep '@[a-zA-Z_]*@' emacs-lispref-${version}/Makefile; then \ - echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \ - fi - tar -cf emacs-lispref-${version}.tar emacs-lispref-${version} - rm -rf emacs-lispref-${version} - .PHONY: install-dvi install-html install-pdf install-ps install-doc install-dvi: dvi diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 58d1a1080df..8aef62bc6a6 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,9 @@ +2014-11-09 Glenn Morris <rgm@gnu.org> + + * Makefile.in (version): Remove variable. + (clean): No longer delete dist tarfile. + (dist): Remove rule; replace with code in admin.el. + 2014-11-08 Glenn Morris <rgm@gnu.org> * Makefile.in (${buildinfodir}/ccmode.info) diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 7a2287af710..40a072a7978 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -23,8 +23,6 @@ SHELL = @SHELL@ # of the source tree. This is set by configure's `--srcdir' option. srcdir=@srcdir@ -version=@version@ - ## Where the output files go. ## Note that all the Info targets build the Info files in srcdir. ## There is no provision for Info files to exist in the build directory. @@ -222,7 +220,6 @@ mostlyclean: clean: mostlyclean rm -f *.dvi *.html *.pdf *.ps - rm -f emacs-misc-${version}.tar* distclean: clean rm -f Makefile @@ -239,41 +236,6 @@ infoclean: bootstrap-clean maintainer-clean: distclean infoclean -dist: - rm -rf emacs-misc-${version} - mkdir emacs-misc-${version} - cp ${srcdir}/*.texi ${srcdir}/texinfo.tex \ - $(emacsdir)/emacsver.texi ${srcdir}/ChangeLog* \ - emacs-misc-${version}/ - sed -e 's/@sr[c]dir@/./' \ - -e 's/^\(emacsdir *=\).*/\1 ./' \ - -e 's/^\(buildinfodir *=\).*/\1 ./' \ - -e 's/^\(clean:.*\)/\1 infoclean/' \ - -e "s/@ver[s]ion@/${version}/" \ - -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \ - -e 's/@IN[F]O_EXT@/.info/' -e 's/@IN[F]O_OPTS@//' \ - -e 's|@SH[E]LL@|/bin/bash|' \ - -e 's|@[p]refix@|/usr/local|' \ - -e 's|@[d]atarootdir@|$${prefix}/share|' \ - -e 's|@[d]atadir@|$${datarootdir}|' \ - -e 's|@[P]ACKAGE_TARNAME@|emacs|' \ - -e 's|@[d]ocdir@|$${datarootdir}/doc/$${PACKAGE_TARNAME}|' \ - -e 's|@[d]vidir@|$${docdir}|' \ - -e 's|@[h]tmldir@|$${docdir}|' \ - -e 's|@[p]dfdir@|$${docdir}|' \ - -e 's|@[p]sdir@|$${docdir}|' \ - -e 's|@[G]ZIP_PROG@|gzip|' \ - -e 's|@IN[S]TALL@|install -c|' \ - -e 's|@IN[S]TALL_DATA@|$${INSTALL} -m 644|' \ - -e '/@[c]onfigure_input@/d' \ - ${srcdir}/Makefile.in > emacs-misc-${version}/Makefile - @if grep '@[a-zA-Z_]*@' emacs-misc-${version}/Makefile; then \ - echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \ - fi - tar -cf emacs-misc-${version}.tar emacs-misc-${version} - rm -rf emacs-misc-${version} - - .PHONY: install-dvi install-html install-pdf install-ps install-doc install-dvi: dvi |