;;; admin.el --- utilities for Emacs administration
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
(defvar add-log-time-format) ; in add-log
-;; Does this information need to be in every ChangeLog, as opposed to
-;; just the top-level one? Only if you allow changes the same
-;; day as the release.
-;; http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00161.html
(defun add-release-logs (root version &optional date)
"Add \"Version VERSION released.\" change log entries in ROOT.
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/man/emacs.1" version
- (rx (and ".TH EMACS" (1+ not-newline)
- "GNU Emacs" (1+ space)
- (submatch (1+ (in "0-9."))))))
+ ;; No longer used, broken in multiple ways, updating version seems pointless.
(set-version-in-file root "nt/config.nt" version
(rx (and bol "#" (0+ blank) "define" (1+ blank)
"VERSION" (1+ blank) "\""
(submatch (1+ (in "0-9."))))))
+ ;; TODO: msdos could easily extract the version number from
+ ;; configure.ac with sed, rather than duplicating the information.
(set-version-in-file root "msdos/sed2v2.inp" version
(rx (and bol "/^#undef " (1+ not-newline)
"define VERSION" (1+ space) "\""
(submatch (1+ (in "0-9."))))))
+ ;; No longer used, broken in multiple ways, updating version seems pointless.
(set-version-in-file root "nt/makefile.w32-in" version
(rx (and "VERSION" (0+ space) "=" (0+ space)
(submatch (1+ (in "0-9."))))))
- ;; nt/emacs.rc also contains the version number, but in an awkward
- ;; format. It must contain four components, separated by commas, and
- ;; in two places those commas are followed by space, in two other
- ;; places they are not.
- (let* ((version-components (append (split-string version "\\.")
- '("0" "0")))
- (comma-version
- (concat (car version-components) ","
- (cadr version-components) ","
- (cadr (cdr version-components)) ","
- (cadr (cdr (cdr version-components)))))
- (comma-space-version
- (concat (car version-components) ", "
- (cadr version-components) ", "
- (cadr (cdr version-components)) ", "
- (cadr (cdr (cdr version-components))))))
- (set-version-in-file root "nt/emacs.rc" comma-version
- (rx (and "FILEVERSION" (1+ space)
- (submatch (1+ (in "0-9,"))))))
- (set-version-in-file root "nt/emacs.rc" comma-version
- (rx (and "PRODUCTVERSION" (1+ space)
- (submatch (1+ (in "0-9,"))))))
- (set-version-in-file root "nt/emacs.rc" comma-space-version
- (rx (and "\"FileVersion\"" (0+ space) ?, (0+ space)
- ?\" (submatch (1+ (in "0-9, "))) "\\0\"")))
- (set-version-in-file root "nt/emacs.rc" comma-space-version
- (rx (and "\"ProductVersion\"" (0+ space) ?,
- (0+ space) ?\" (submatch (1+ (in "0-9, ")))
- "\\0\"")))
- ;; Likewise for emacsclient.rc
- (set-version-in-file root "nt/emacsclient.rc" comma-version
- (rx (and "FILEVERSION" (1+ space)
- (submatch (1+ (in "0-9,"))))))
- (set-version-in-file root "nt/emacsclient.rc" comma-version
- (rx (and "PRODUCTVERSION" (1+ space)
- (submatch (1+ (in "0-9,"))))))
- (set-version-in-file root "nt/emacsclient.rc" comma-space-version
- (rx (and "\"FileVersion\"" (0+ space) ?, (0+ space)
- ?\" (submatch (1+ (in "0-9, "))) "\\0\"")))
- (set-version-in-file root "nt/emacsclient.rc" comma-space-version
- (rx (and "\"ProductVersion\"" (0+ space) ?,
- (0+ space) ?\" (submatch (1+ (in "0-9, ")))
- "\\0\"")))
- ;; Major version only.
- (when (string-match "\\([0-9]\\{2,\\}\\)" version)
- (setq version (match-string 1 version))
- (set-version-in-file root "src/msdos.c" version
- (rx (and "Vwindow_system_version" (1+ not-newline)
- ?\( (submatch (1+ (in "0-9"))) ?\))))
- (set-version-in-file root "etc/refcards/ru-refcard.tex" version
- "\\\\newcommand{\\\\versionemacs}\\[0\\]\
-{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs")))
+ ;; Major version only.
+ (when (string-match "\\([0-9]\\{2,\\}\\)" version)
+ (setq version (match-string 1 version))
+ (set-version-in-file root "src/msdos.c" version
+ (rx (and "Vwindow_system_version" (1+ not-newline)
+ ?\( (submatch (1+ (in "0-9"))) ?\))))
+ (set-version-in-file root "etc/refcards/ru-refcard.tex" version
+ "\\\\newcommand{\\\\versionemacs}\\[0\\]\
+{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs"))
(message "Setting version numbers...done"))
;; Note this makes some assumptions about form of short copyright.
(ps-dir (expand-file-name "ps" dest))
(pdf-dir (expand-file-name "pdf" dest))
(emacs (expand-file-name "doc/emacs/emacs.texi" root))
+ (emacs-xtra (expand-file-name "doc/emacs/emacs-xtra.texi" root))
(elisp (expand-file-name "doc/lispref/elisp.texi" root))
(eintr (expand-file-name "doc/lispintro/emacs-lisp-intro.texi" root))
(misc (manual-misc-manuals root)))
(manual-html-node emacs (expand-file-name "emacs" html-node-dir)))
(if (member type '(nil "emacs" "emacs-mono"))
(manual-html-mono emacs (expand-file-name "emacs.html" html-mono-dir)))
- (if (member type '(nil "emacs" "emacs-pdf" "pdf"))
- (manual-pdf emacs (expand-file-name "emacs.pdf" pdf-dir)))
- (if (member type '(nil "emacs" "emacs-ps" "ps"))
- (manual-ps emacs (expand-file-name "emacs.ps" ps-dir)))
+ (when (member type '(nil "emacs" "emacs-pdf" "pdf"))
+ (manual-pdf emacs (expand-file-name "emacs.pdf" pdf-dir))
+ ;; emacs-xtra exists only in pdf/ps format.
+ ;; In other formats it is included in the Emacs manual.
+ (manual-pdf emacs-xtra (expand-file-name "emacs-xtra.pdf" pdf-dir)))
+ (when (member type '(nil "emacs" "emacs-ps" "ps"))
+ (manual-ps emacs (expand-file-name "emacs.ps" ps-dir))
+ (manual-ps emacs-xtra (expand-file-name "emacs-xtra.ps" ps-dir)))
(if (member type '(nil "elisp" "elisp-node"))
(manual-html-node elisp (expand-file-name "elisp" html-node-dir)))
(if (member type '(nil "elisp" "elisp-mono"))
(defconst manual-meta-string
"<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">
-<link rev=\"made\" href=\"mailto:webmasters@gnu.org\">
+<link rev=\"made\" href=\"mailto:bug-gnu-emacs@gnu.org\">
<link rel=\"icon\" type=\"image/png\" href=\"/graphics/gnu-head-mini.png\">
<meta name=\"ICBM\" content=\"42.256233,-71.006581\">
<meta name=\"DC.title\" content=\"gnu.org\">\n\n")
(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)
+ (if (or (string-match-p "\\(\\.texi\\'\\|/README\\'\\)" file)
(and (equal type "lispintro")
(string-match-p "\\.\\(eps\\|pdf\\)\\'" file)))
(copy-file file stem)))