X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/f998bbe793e9ae7a8df071fec7de63879e67ef1a..68f8f1c0c680494639b4396e242747e5103ae40d:/admin/admin.el diff --git a/admin/admin.el b/admin/admin.el index 2ca838fdff..ec78fb2786 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -26,6 +26,8 @@ ;;; Code: +(defvar add-log-time-format) ; in add-log + (defun add-release-logs (root version) "Add \"Version VERSION released.\" change log entries in ROOT. Root must be the root of an Emacs source tree." @@ -62,7 +64,7 @@ Root must be the root of an Emacs source tree." (set-version-in-file root "README" version (rx (and "version" (1+ space) (submatch (1+ (in "0-9.")))))) - (set-version-in-file root "configure.in" version + (set-version-in-file root "configure.ac" version (rx (and "AC_INIT" (1+ (not (in ?,))) ?, (0+ space) (submatch (1+ (in "0-9.")))))) @@ -126,39 +128,20 @@ Root must be the root of an Emacs source tree." (set-version-in-file root "nt/emacsclient.rc" comma-space-version (rx (and "\"ProductVersion\"" (0+ space) ?, (0+ space) ?\" (submatch (1+ (in "0-9, "))) - "\\0\"")))) - ;; nextstep. - (set-version-in-file - root "nextstep/Cocoa/Emacs.base/Contents/Info.plist" - version (rx (and "CFBundleGetInfoString" (1+ anything) "Emacs" (1+ space) - (submatch (1+ (in "0-9.")))))) - (set-version-in-file - root "nextstep/Cocoa/Emacs.base/Contents/Info.plist" - version (rx (and "CFBundleShortVersionString" (1+ not-newline) ?\n - (0+ not-newline) "" (0+ space) - (submatch (1+ (in "0-9.")))))) - (set-version-in-file - root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings" - version (rx (and "CFBundleShortVersionString" (0+ space) ?= (0+ space) - ?\" (0+ space) "Version" (1+ space) - (submatch (1+ (in "0-9.")))))) - (set-version-in-file - root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings" - version (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space) - ?\" (0+ space) "Emacs version" (1+ space) - (submatch (1+ (in "0-9.")))))) - (set-version-in-file - root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist" - version (rx (and "ApplicationRelease" (0+ space) ?= (0+ space) - ?\" (0+ space) (submatch (1+ (in "0-9.")))))) - (set-version-in-file - root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist" - version (rx (and "FullVersionID" (0+ space) ?= (0+ space) - ?\" (0+ space) "Emacs" (1+ space) - (submatch (1+ (in "0-9.")))))) - (set-version-in-file - root "nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop" - version (rx (and "Version=" (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") + (set-version-in-file root "etc/refcards/emacsver.tex" version + "\\\\def\\\\versionemacs\ +{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs")))) + ;; Note this makes some assumptions about form of short copyright. (defun set-copyright (root copyright) @@ -172,45 +155,28 @@ Root must be the root of an Emacs source tree." (format-time-string "%Y"))))) (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" copyright - (rx (and "emacs_copyright" (0+ (not (in ?\"))) - ?\" (submatch (1+ (not (in ?\")))) ?\"))) - (set-version-in-file root "lib-src/ebrowse.c" copyright - (rx (and "emacs_copyright" (0+ (not (in ?\"))) - ?\" (submatch (1+ (not (in ?\")))) ?\"))) - (set-version-in-file root "lib-src/etags.c" copyright - (rx (and "emacs_copyright" (0+ (not (in ?\"))) + (set-version-in-file root "configure.ac" copyright + (rx (and bol "copyright" (0+ (not (in ?\"))) ?\" (submatch (1+ (not (in ?\")))) ?\"))) + (set-version-in-file root "msdos/sed2v2.inp" copyright + (rx (and bol "/^#undef " (1+ not-newline) + "define COPYRIGHT" (1+ space) + ?\" (submatch (1+ (not (in ?\")))) ?\"))) + (set-version-in-file root "nt/config.nt" copyright + (rx (and bol "#" (0+ blank) "define" (1+ blank) + "COPYRIGHT" (1+ blank) + ?\" (submatch (1+ (not (in ?\")))) ?\"))) (set-version-in-file root "lib-src/rcs2log" copyright (rx (and "Copyright" (0+ space) ?= (0+ space) ?\' (submatch (1+ nonl))))) - ;; This one is a nuisance, as it needs to be split over two lines. - (string-match "\\(.*[0-9]\\{4\\} *\\)\\(.*\\)" copyright) - ;; nextstep. - (set-version-in-file - root "nextstep/Cocoa/Emacs.base/Contents/Info.plist" - copyright (rx (and "CFBundleGetInfoString" (1+ anything) "Emacs" (1+ space) - (1+ (in "0-9.")) (1+ space) - (submatch (1+ (not (in ?\<))))))) - (set-version-in-file - root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings" - copyright (rx (and "NSHumanReadableCopyright" (0+ space) ?\= (0+ space) - ?\" (submatch (1+ (not (in ?\"))))))) - (set-version-in-file - root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist" - copyright (rx (and "Copyright" (0+ space) ?\= (0+ space) - ?\" (submatch (1+ (not (in ?\"))))))) (when (string-match "\\([0-9]\\{4\\}\\)" copyright) (setq copyright (match-string 1 copyright)) - (dolist (file (directory-files (expand-file-name "etc/refcards" root) - t "\\.tex\\'")) - (unless (string-match "gnus-refcard\\.tex" file) - (set-version-in-file - root file copyright - (concat (if (string-match "ru-refcard\\.tex" file) - "\\\\newcommand{\\\\cyear}\\[0\\]{" - "\\\\def\\\\year{") - "\\([0-9]\\{4\\}\\)}.+%.+copyright year")))))) + (set-version-in-file root "etc/refcards/ru-refcard.tex" copyright + "\\\\newcommand{\\\\cyear}\\[0\\]\ +{\\([0-9]\\{4\\}\\)}.+%.+copyright year") + (set-version-in-file root "etc/refcards/emacsver.tex" copyright + "\\\\def\\\\year\ +{\\([0-9]\\{4\\}\\)}.+%.+copyright year"))) ;;; Various bits of magic for generating the web manuals @@ -240,7 +206,7 @@ Root must be the root of an Emacs source tree." (manual-txt texi (expand-file-name "emacs.txt" txt-dir)) (manual-pdf texi (expand-file-name "emacs.pdf" dest)) (manual-dvi texi (expand-file-name "emacs.dvi" dvi-dir) - (expand-file-name "emacs.ps" ps-dir))) + (expand-file-name "emacs.ps" ps-dir))) ;; Lisp manual (let ((texi (expand-file-name "doc/lispref/elisp.texi" root))) (manual-html-node texi (expand-file-name "elisp" html-node-dir)) @@ -248,7 +214,20 @@ Root must be the root of an Emacs source tree." (manual-txt texi (expand-file-name "elisp.txt" txt-dir)) (manual-pdf texi (expand-file-name "elisp.pdf" dest)) (manual-dvi texi (expand-file-name "elisp.dvi" dvi-dir) - (expand-file-name "elisp.ps" ps-dir))) + (expand-file-name "elisp.ps" ps-dir))) + ;; Misc manuals + (let ((manuals '("ada-mode" "auth" "autotype" "calc" "cc-mode" + "cl" "dbus" "dired-x" "ebrowse" "ede" "ediff" + "edt" "eieio" "emacs-mime" "epa" "erc" "ert" + "eshell" "eudc" "faq" "flymake" "forms" + "gnus" "emacs-gnutls" "idlwave" "info" + "mairix-el" "message" "mh-e" "newsticker" + "nxml-mode" "org" "pcl-cvs" "pgg" "rcirc" + "remember" "reftex" "sasl" "sc" "semantic" + "ses" "sieve" "smtpmail" "speedbar" "tramp" + "url" "vip" "viper" "widget" "woman"))) + (dolist (manual manuals) + (manual-misc-html manual root html-node-dir html-mono-dir))) (message "Manuals created in %s" dest))) (defconst manual-doctype-string @@ -265,6 +244,12 @@ Root must be the root of an Emacs source tree." (defconst manual-style-string "\n") +(defun manual-misc-html (name root html-node-dir html-mono-dir) + (let ((texi (expand-file-name (format "doc/misc/%s.texi" name) root))) + (manual-html-node texi (expand-file-name name html-node-dir)) + (manual-html-mono texi (expand-file-name (concat name ".html") + html-mono-dir)))) + (defun manual-html-mono (texi-file dest) "Run Makeinfo on TEXI-FILE, emitting mono HTML output to DEST. This function also edits the HTML files so that they validate as @@ -307,13 +292,15 @@ the @import directive." (let (copyright-text) (manual-html-fix-index-1) ;; Move copyright notice to the end. - (re-search-forward "[ \t]*

Copyright ©") - (setq opoint (match-beginning 0)) - (re-search-forward "") - (setq copyright-text (buffer-substring opoint (point))) - (delete-region opoint (point)) + (when (re-search-forward "[ \t]*

Copyright ©" nil t) + (setq opoint (match-beginning 0)) + (re-search-forward "") + (setq copyright-text (buffer-substring opoint (point))) + (delete-region opoint (point))) (manual-html-fix-index-2) - (insert copyright-text "\n\n")) + (if copyright-text + (insert copyright-text)) + (insert "\n\n")) ;; For normal nodes, give the header div a blue bg. (manual-html-fix-node-div)) (save-buffer)))))) @@ -369,9 +356,9 @@ Also generate PostScript output in PS-DEST." (defun manual-html-fix-index-1 () (let (opoint) - (re-search-forward "\n\\(

\n") + (setq opoint (match-end 0)) + (search-forward "

\n\n"))) @@ -380,7 +367,8 @@ Also generate PostScript output in PS-DEST." "Replace the index list in the current buffer with a HTML table." (let (done open-td tag desc) ;; Convert the list that Makeinfo made into a table. - (search-forward "