summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-11-08 18:06:29 -0800
committerGlenn Morris <rgm@gnu.org>2014-11-08 18:06:29 -0800
commitda95e2399e068eb87ea90a4617d80980d0601eb4 (patch)
tree4c2b9ac861c7f37d14950c199dda17dd38226955
parent90a1373b4c8e3f646b2b75cb4a12126cd361faa0 (diff)
parente4ed201ff9e089d8a074523ca7de02c1b84bece2 (diff)
downloademacs-da95e2399e068eb87ea90a4617d80980d0601eb4.tar.gz
Merge from emacs-24; up to 117691
-rw-r--r--admin/ChangeLog6
-rw-r--r--admin/admin.el81
-rw-r--r--doc/emacs/ChangeLog6
-rw-r--r--doc/emacs/Makefile.in42
-rw-r--r--doc/lispintro/ChangeLog6
-rw-r--r--doc/lispintro/Makefile.in41
-rw-r--r--doc/lispref/ChangeLog6
-rw-r--r--doc/lispref/Makefile.in40
-rw-r--r--doc/misc/ChangeLog6
-rw-r--r--doc/misc/Makefile.in38
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