From: Glenn Morris Date: Thu, 7 Jun 2007 07:28:32 +0000 (+0000) Subject: (set-copyright): New function. X-Git-Url: https://git.hcoop.net/bpt/emacs.git/commitdiff_plain/a3045b7ededc0d2e9728dd125999cc7195f654f8?hp=bfcea090da99bb6e99375ad88eca774527442bc4 (set-copyright): New function. --- diff --git a/admin/admin.el b/admin/admin.el index 342b40f9bd..175eb6ded1 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -24,6 +24,8 @@ ;; add-release-logs Add ``Version X released'' change log entries. ;; set-version Change Emacs version number in source tree. +;; set-copyright Change emacs short copyright string (eg as +;; printed by --version) in source tree. ;;; Code: @@ -158,5 +160,50 @@ Root must be the root of an Emacs source tree." (rx (and (submatch (1+ (in "a-z"))) (0+ space) ?\, (0+ space) "/* development, alpha, beta, or final (release) */")))))) +;; Note this makes some assumptions about form of short copyright. +(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." + (interactive (list + (read-directory-name "Emacs root directory: " nil nil t) + (read-string + "Short copyright string: " + (format "Copyright (C) %s Free Software Foundation, Inc." + (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 "lib-src/etags.c" copyright + (rx (and "emacs_copyright" (0+ (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 ?\"))))))) + ;; 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 */"))))) + ;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 ;; admin.el ends here.