X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/94cc397c541f50af6b049af6c42806daa2be2709..16fab14354e612a22b5dea21b4106555fb05f712:/admin/admin.el diff --git a/admin/admin.el b/admin/admin.el index 05cd7f9446..739c769b35 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -1,14 +1,13 @@ ;;; admin.el --- utilities for Emacs administration -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -;; Free Software Foundation, Inc. +;; Copyright (C) 2001-2011 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -16,9 +15,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -62,9 +59,6 @@ Root must be the root of an Emacs source tree." (interactive "DEmacs root directory: \nsVersion number: ") (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 "lisp/version.el" version - (rx (and "emacs-version" (0+ space) - ?\" (submatch (1+ (not (in ?\")))) ?\"))) (set-version-in-file root "README" version (rx (and "version" (1+ space) (submatch (1+ (in "0-9.")))))) @@ -72,10 +66,7 @@ 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/emacs.texi" version - (rx (and "EMACSVER" (1+ space) - (submatch (1+ (in "0-9.")))))) - (set-version-in-file root "doc/lispref/elisp.texi" version + (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 @@ -85,6 +76,9 @@ Root must be the root of an Emacs source tree." (set-version-in-file root "lib-src/makefile.w32-in" version (rx (and "VERSION" (0+ space) "=" (0+ space) (submatch (1+ (in "0-9.")))))) + (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 @@ -114,45 +108,54 @@ Root must be the root of an Emacs source tree." (rx (and "\"ProductVersion\"" (0+ space) ?, (0+ space) ?\" (submatch (1+ (in "0-9, "))) "\\0\""))) - ;; Some files in the "mac" subdirectory also contain the version - ;; number. - (set-version-in-file - root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings" - version (rx (and "CFBundleShortVersionString" (0+ space) ?= (0+ space) ?\" - (submatch (1+ (in "0-9.")))))) - (set-version-in-file - root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings" - version (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space) ?\" - (submatch (1+ (in "0-9.")))))) - (set-version-in-file root "mac/src/Emacs.r" (car version-components) - (rx (and "GNU Emacs " (submatch (1+ (in "0-9"))) - " for Mac OS"))) - (set-version-in-file root "mac/src/Emacs.r" (car version-components) - (rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\, - (0+ space) "/* Major revision in BCD */"))) - (set-version-in-file root "mac/src/Emacs.r" (cadr version-components) - (rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\, - (0+ space) "/* Minor revision in BCD */"))) - (set-version-in-file root "mac/src/Emacs.r" (cadr (cdr version-components)) - (rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\, - (0+ space) "/* Non-final release # */"))) - (set-version-in-file root "mac/src/Emacs.r" version - (rx (and (submatch (1+ (in "0-9."))) (0+ space) ?\" ?\, - (0+ space) "/* Short version number */"))) - (set-version-in-file root "mac/src/Emacs.r" version - (rx (and "/* Short version number */" (0+ space) ?\" - (submatch (1+ (in "0-9.")))))) - (let* ((third-component (string-to-number (cadr (cdr version-components)))) - (release (cond ((>= third-component 90) "alpha") - ((>= third-component 50) "development") - (t "final")))) - (set-version-in-file - root "mac/src/Emacs.r" release - (rx (and (submatch (1+ (in "a-z"))) (0+ space) ?\, (0+ space) - "/* development, alpha, beta, or final (release) */")))))) + ;; 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\"")))) + ;; 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."))))))) ;; Note this makes some assumptions about form of short copyright. -;; FIXME add the \year in the refcards/*.tex files. (defun set-copyright (root copyright) "Set Emacs short copyright to COPYRIGHT in relevant files under ROOT. Root must be the root of an Emacs source tree." @@ -164,43 +167,46 @@ 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 "lisp/version.el" copyright - (rx (and "emacs-copyright" (0+ space) - ?\" (submatch (1+ (not (in ?\")))) ?\"))) + (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 ?\")))) ?\"))) + ?\" (submatch (1+ (not (in ?\")))) ?\"))) (set-version-in-file root "lib-src/etags.c" copyright (rx (and "emacs_copyright" (0+ (not (in ?\"))) - ?\" (submatch (1+ (not (in ?\")))) ?\"))) + ?\" (submatch (1+ (not (in ?\")))) ?\"))) (set-version-in-file root "lib-src/rcs2log" copyright - (rx (and "Copyright" (0+ space) ?= (0+ space) - ?\' (submatch (1+ nonl))))) - (set-version-in-file - root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings" - copyright (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space) ?\" - (1+ anything) - (submatch "Copyright" (1+ (not (in ?\"))))))) + (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) - (let ((csign "\\0xa9") - (cyear (match-string 1 copyright)) ; "Copyright (C) 2007 " - (owner (match-string 2 copyright))) ; "Free Software Foundation, Inc." - (set-version-in-file root "mac/src/Emacs.r" - (regexp-quote - (replace-regexp-in-string "(C)" - (regexp-quote csign) cyear)) - (rx (and - (submatch "Copyright" (0+ space) (eval csign) - (0+ space) (= 4 num) - (0+ (not (in ?\")))) ?\"))) - (set-version-in-file root "mac/src/Emacs.r" owner - (rx (and ?\" - (submatch (1+ (not (in ?\")))) - ?\" (0+ space) - "/* Long version number */"))))) + ;; 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")))))) (provide 'admin) -;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 -;; admin.el ends here. +;;; admin.el ends here