;;; admin.el --- utilities for Emacs administration
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-;; 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
(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 "src/emacs.c" version
- (rx (and "emacs_version" (0+ (not (in ?\")))
- ?\" (submatch (1+ (not (in ?\")))) ?\")))
(set-version-in-file root "README" version
(rx (and "version" (1+ space)
(submatch (1+ (in "0-9."))))))
(rx (and ".TH EMACS" (1+ not-newline)
"GNU Emacs" (1+ space)
(submatch (1+ (in "0-9."))))))
- (set-version-in-file root "lib-src/makefile.w32-in" version
- (rx (and "VERSION" (0+ space) "=" (0+ space)
+ (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."))))))
(set-version-in-file root "nt/makefile.w32-in" version
(rx (and "VERSION" (0+ space) "=" (0+ space)
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."
(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 ?\")))) ?\")))
+ ?\" (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)))))
+ (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/GNUstep/Emacs.base/Resources/Info-gnustep.plist"
copyright (rx (and "Copyright" (0+ space) ?\= (0+ space)
- ?\" (submatch (1+ (not (in ?\"))))))))
+ ?\" (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)