From bea1b65b3c71668e3e990721e39bba8b5007e9c6 Mon Sep 17 00:00:00 2001
From: Glenn Morris <rgm@gnu.org>
Date: Tue, 24 May 2016 12:51:00 -0400
Subject: [PATCH] * admin/admin.el (add-release-logs): Also update etc/HISTORY.

---
 admin/admin.el | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/admin/admin.el b/admin/admin.el
index fe807ff96fe..a3d56277918 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -30,6 +30,7 @@
 
 (defun add-release-logs (root version &optional date)
   "Add \"Version VERSION released.\" change log entries in ROOT.
+Also update the etc/HISTORY file.
 Root must be the root of an Emacs source tree.
 Optional argument DATE is the release date, default today."
   (interactive (list (read-directory-name "Emacs root directory: ")
@@ -42,6 +43,12 @@ Optional argument DATE is the release date, default today."
   (setq root (expand-file-name root))
   (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))
+  ;; FIXME this does not check that a ChangeLog that exists is not
+  ;; your own personal one.  Perhaps we should move any existing file
+  ;; and unconditionally call make ChangeLog?
+  ;; Or make ChangeLog CHANGELOG=temp and compare with the existing?
+  (unless (file-exists-p (expand-file-name "ChangeLog" root))
+    (user-error "No top-level ChangeLog - run \"make ChangeLog\" first"))
   (require 'add-log)
   (or date (setq date (funcall add-log-time-format nil t)))
   (let* ((logs (process-lines "find" root "-name" "ChangeLog"))
@@ -53,7 +60,14 @@ Optional argument DATE is the release date, default today."
     (dolist (log logs)
       (find-file log)
       (goto-char (point-min))
-      (insert entry))))
+      (insert entry)))
+  (let ((histfile (expand-file-name "etc/HISTORY" root)))
+    (unless (file-exists-p histfile)
+      (error "%s not present" histfile))
+    (find-file histfile)
+    (goto-char (point-max))
+    (search-backward "")
+    (insert (format "GNU Emacs %s (%s) emacs-%s\n\n" version date version))))
 
 (defun set-version-in-file (root file version rx)
   "Subroutine of `set-version' and `set-copyright'."
-- 
2.39.5