-;;; authors.el --- utility for maintaining Emacs's AUTHORS file -*-coding: utf-8 -*-
+;;; authors.el --- utility for maintaining Emacs's AUTHORS file
-;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
;; Author: Gerd Moellmann <gerd@gnu.org>
;; Maintainer: Kim F. Storm <storm@cua.dk>
;; Use M-x authors RET to create an *Authors* buffer that can used as
;; or merged with Emacs's AUTHORS file.
+;; FIXME: This needs to modernized in the light of current practice,
+;; which generates a single top-level ChangeLog file from commit logs.
+
;;; Code:
(defvar authors-coding-system 'utf-8
("Gerd Möllmann" "Gerd Moellmann")
("Hallvard B. Furuseth" "Hallvard B Furuseth" "Hallvard Furuseth")
("Hrvoje Nikšić" "Hrvoje Niksic")
- ;; lisp/org/ChangeLog 2010-11-11.
+ ;; lisp/org/ChangeLog.1 2010-11-11.
(nil "aaa bbb")
(nil "Code Extracted") ; lisp/newcomment.el's "Author:" header
("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn")
("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard")
("Johan Bockgård" "Johan Bockgard")
+ ("John F. Carr" "John F Carr")
("John J Foerch" "John Foerch")
("John W. Eaton" "John Eaton")
("Jonathan I. Kamens" "Jonathan Kamens")
"Michael McNamara"
"Mike McEwan"
"Nelson Jose dos Santos Ferreira"
- "Peter von der Ahe"
+ "Peter von der Ahé"
"Peter O'Gorman"
"Piet van Oostrum"
"Roland McGrath"
'(".*loaddefs.el$" ; not obsolete, but auto-generated
"\\.\\(bzr\\|cvs\\|git\\)ignore$" ; obsolete or uninteresting
"\\.arch-inventory$"
+ "ChangeLog\\(\\.[0-9]+\\)?\\'"
"automated/data/" ; not interesting
;; TODO lib/? Matches other things?
"build-aux/" "m4/" "Emacs.xcodeproj" "mapfiles" "\\.map\\'"
'("external-lisp"
"lock" "share-lib" "local-lisp"
"noleim-Makefile.in"
- "NEWS" "ORDERS" "PROBLEMS" "FAQ" "AUTHORS" "FOR-RELEASE" "TODO" "todo"
+ "NEWS" "ORDERS" "PROBLEMS" "FAQ" "AUTHORS" "release-process" "TODO" "todo"
"MACHINES" "SERVICE"
"README.unicode" "README.multi-tty" "TUTORIAL.translators"
"NEWS.unicode" "COPYING.DJ" "Makefile.old" "Makefile.am"
"ChangeLog.nextstep" "Emacs.clr" "spec.txt"
"gfdl.1"
"texi/Makefile.in"
+ "autodeps.mk"
+ "oldXMenu/autodeps.mk"
+ "src/autodeps.mk"
"Imakefile" "icons/sink.ico" "aixcc.lex"
"nxml/char-name/unicode"
"spec.txt"
"cedet/tests/test.cpp"
"cedet/tests/test.py"
"cedet/tests/teststruct.cpp"
+ "subdirs.el"
"*.el"
;; Autogen:
"cus-load.el" "finder-inf.el" "ldefs-boot.el" "loaddefs-boot.el"
"debian/scripts/startup.erc"
"debian/scripts/startup.erc-speak"
;; Used to be in admin, not very interesting.
- "emacs-pretesters" "make-announcement" "make-changelog-diff"
+ "emacs-pretesters" "make-announcement" "make-changelog-diff" "admin/FOR-RELEASE" "etc/FOR-RELEASE" "nextstep/FOR-RELEASE" "FOR-RELEASE"
;; Textual comments that are not files.
"All" "Version" "Everywhere" "Many" "Various" "files"
;; Directories.
"vms" "mac" "url" "tree-widget"
+ "info/dir"
+ ;; Not in gnulib anymore
+ "lib/qset-acl.c" "lib/qcopy-acl.c" "lib/file-has-acl.c"
+ ;; files from old MS Windows build procedures
+ "makefile.w32-in"
+ "unidata/makefile.w32-in"
+ "lib/makefile.w32-in"
+ "leim/makefile.w32-in"
+ "src/makefile.w32-in"
+ "nt/emacs-src.tags"
+ "doc/emacs/makefile.w32-in"
+ "doc/lispintro/makefile.w32-in"
+ "doc/lispref/makefile.w32-in"
+ "doc/misc/makefile.w32-in"
+ "nt/paths.h"
+ "paths.h"
+ "src/paths.h"
+ "envadd.bat"
+ "multi-install-info.bat"
+ "INSTALL.OLD"
+ "nt/src/paths.h"
+ "nmake.defs"
+ "gmake.defs"
+ "zipdist.bat"
+ "nt/makefile.w32-in"
+ "config.nt"
+ "nextstep/WISHLIST"
)
"List of files and directories to ignore.
Changes to files in this list are not listed.")
"calc/calc-maint.el"
"emacs-lisp/cl-specs.el"
"emacs-lisp/eieio-comp.el"
+ "emacs-lisp/eieio-generic.el"
"erc-hecomplete.el"
"eshell/esh-maint.el"
"language/persian.el"
"mh-exec.el" "mh-init.el" "mh-customize.el"
"net/zone-mode.el" "xesam.el"
"term/mac-win.el" "sup-mouse.el"
- "term/vt102.el" "term/vt201.el" "term/vt220.el" "term/vt300.el"
+ "term/apollo.el"
+ "term/vt102.el" "term/vt125.el" "term/vt201.el" "term/vt220.el" "term/vt300.el"
"term/vt320.el" "term/vt400.el" "term/vt420.el"
"url-https.el"
"org-mac-message.el" "org-mew.el" "org-w3m.el" "org-vm.el" "org-wl.el"
("DIFF" . "OTHER.EMACSES")
("CCADIFF" . "OTHER.EMACSES")
("GOSDIFF" . "OTHER.EMACSES")
+ ;; Nextstep
+ ("nextstep/Cocoa/Emacs.base/Contents/Info.plist" . "nextstep/templates/Info.plist.in")
;; Moved from lisp/tpu-doc.el to etc/tpu-edt.doc in Emacs 19.29.
;; Removed in Emacs 19.30, replaced by new file etc/edt-user.doc
;; (no associated ChangeLog entry).
("play/bruce.el" . "bruce.el")
("play/yow.el" . "yow.el")
("patcomp.el" . "patcomp.el")
+ ("emulation/ws-mode.el" . "ws-mode.el")
+ ("vc/vc-arch.el" . "vc-arch.el")
;; From lisp to etc/forms.
("forms-d2.el" . "forms-d2.el")
("forms-pass.el" . "forms-pass.el")
("eshell/esh-test.el" . "automated/eshell.el")
("automated/cl-lib.el" . "automated/cl-lib-tests.el")
("automated/package-x-test.el" . "automated/package-test.el")
+ ("indent/js-indent-first-initialiser-t.js" . "indent/js-indent-init-t.js")
+ ("indent/js-indent-first-initialiser-dynamic.js" .
+ "indent/js-indent-init-dynamic.js")
;; INSTALL-CVS -> .CVS -> .BZR -> .REPO
("INSTALL-CVS" . "INSTALL.REPO")
("INSTALL.CVS" . "INSTALL.REPO")
("nt/README.W32" . "README.W32")
("notes/BRANCH" . "notes/repo")
("notes/bzr" . "notes/repo")
+ ;; moved from lisp/ to lisp/net/
+ ("lisp/pinentry.el" . "lisp/net/pinentry.el")
+ ;; module.* moved to emacs-module.*
+ ("src/module.h" . "src/emacs-module.h")
+ ("src/module.c" . "src/emacs-module.c")
)
"Alist of files which have been renamed during their lifetime.
Elements are (OLDNAME . NEWNAME).")
;; Eg the progmodes/ (etc) directories did not exist before 1997.
;; Also, lib-src/ did not exist, the files were in etc/.
;; And various other things.
-;; Maybe this should just be any ChangeLog with a . extension,
-;; assuming we always fix logs fully before rotating them?
(defconst authors-lax-changelogs
- '("erc/ChangeLog\\.0[1-8]\\'"
+ '("erc/ChangeLog\\.1\\'"
"gnus/ChangeLog\\.[1-2]\\'"
"lisp/ChangeLog\\.\\([1-9]\\|1[0-5]\\)\\'"
"mh-e/ChangeLog\\.1\\'"
(string-match "^[0-9.]+$" file)
laxlog)
(setq authors-invalid-file-names
- (cons (format "%s:%d: unrecognized `%s' for %s"
- log-file
- (1+ (count-lines (point-min) pos))
- file author)
+ (cons (format-message "%s:%d: unrecognized `%s' for %s"
+ log-file
+ (1+ (count-lines (point-min) pos))
+ file author)
authors-invalid-file-names)))
valid)))
(setq regexps (cdr regexps))))))
(when author
(setq author (replace-regexp-in-string "[ \t]*[(<].*$" "" author))
- (setq author (replace-regexp-in-string "\`[ \t]+" "" author))
+ (setq author (replace-regexp-in-string "\\`[ \t]+" "" author))
(setq author (replace-regexp-in-string "[ \t]+$" "" author))
(setq author (replace-regexp-in-string "[ \t]+" " " author))
(unless (string-match "[-, \t]" author)