summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-05-10 14:59:05 -0700
committerGlenn Morris <rgm@gnu.org>2014-05-10 14:59:05 -0700
commit732fbcd9d1c0262012e7d405d6519d20a8a5f769 (patch)
treed376c7e1e58d712bd6d698f446acd15b57c0bf44
parent6b45ef356516c224e88b410edaab43d4c58f94dc (diff)
downloademacs-732fbcd9d1c0262012e7d405d6519d20a8a5f769.tar.gz
admin.el tweaks
* admin/admin.el (set-version-in-file): Don't set identical version. (set-version): Provide default version number. (set-version, set-copyright): Give start/end messages.
-rw-r--r--admin/ChangeLog6
-rw-r--r--admin/admin.el23
2 files changed, 22 insertions, 7 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index c1be3dac557..82041f7acfb 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,9 @@
+2014-05-10 Glenn Morris <rgm@gnu.org>
+
+ * admin.el (set-version-in-file): Don't set identical version.
+ (set-version): Provide default version number.
+ (set-version, set-copyright): Give start/end messages.
+
2014-04-17 Paul Eggert <eggert@cs.ucla.edu>
* notes/bzr: Update instructions for merging from gnulib.
diff --git a/admin/admin.el b/admin/admin.el
index 007cb06e592..7af9ffa4177 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -65,17 +65,25 @@ Optional argument DATE is the release date, default today."
"Subroutine of `set-version' and `set-copyright'."
(find-file (expand-file-name file root))
(goto-char (point-min))
+ (setq version (format "%s" version))
(unless (re-search-forward rx nil :noerror)
(user-error "Version not found in %s" file))
- (replace-match (format "%s" version) nil nil nil 1))
+ (if (not (equal version (match-string 1)))
+ (replace-match version nil nil nil 1)
+ (kill-buffer)
+ (message "No need to update `%s'" file)))
-;; TODO report the progress
(defun set-version (root version)
"Set Emacs version to VERSION in relevant files under ROOT.
Root must be the root of an Emacs source tree."
- (interactive "DEmacs root directory: \nsVersion number: ")
+ (interactive (list
+ (read-directory-name "Emacs root directory: " source-directory)
+ (read-string "Version number: "
+ (replace-regexp-in-string "\\.[0-9]+\\'" ""
+ emacs-version))))
(unless (file-exists-p (expand-file-name "src/emacs.c" root))
(user-error "%s doesn't seem to be the root of an Emacs source tree" root))
+ (message "Setting version numbers...")
;; There's also a "version 3" (standing for GPLv3) at the end of
;; `README', but since `set-version-in-file' only replaces the first
;; occurrence, it won't be replaced.
@@ -158,11 +166,10 @@ Root must be the root of an Emacs source tree."
{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs")
(set-version-in-file root "etc/refcards/emacsver.tex" version
"\\\\def\\\\versionemacs\
-{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs"))))
-
+{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs")))
+ (message "Setting version numbers...done"))
;; Note this makes some assumptions about form of short copyright.
-;; TODO report the progress
(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."
@@ -174,6 +181,7 @@ 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))
(user-error "%s doesn't seem to be the root of an Emacs source tree" root))
+ (message "Setting copyrights...")
(set-version-in-file root "configure.ac" copyright
(rx (and bol "copyright" (0+ (not (in ?\")))
?\" (submatch (1+ (not (in ?\")))) ?\")))
@@ -195,7 +203,8 @@ Root must be the root of an Emacs source tree."
{\\([0-9]\\{4\\}\\)}.+%.+copyright year")
(set-version-in-file root "etc/refcards/emacsver.tex" copyright
"\\\\def\\\\year\
-{\\([0-9]\\{4\\}\\)}.+%.+copyright year")))
+{\\([0-9]\\{4\\}\\)}.+%.+copyright year"))
+ (message "Setting copyrights...done"))
;;; Various bits of magic for generating the web manuals