Mercurial > emacs
changeset 100535:f337e02f9b2e
(authors-fixed-case): New constant.
(authors-public-domain-files, authors-ignored-files):
(authors-valid-file-names, authors-renamed-files-alist): Update lists.
(authors-renamed-files-regexps): Add some new entries.
(authors-canonical-file-name): Don't complain about ignored files.
(authors-canonical-author-name): Doc fix. Respect authors-fixed-case.
(authors): Ensure error buffer is writable.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Fri, 19 Dec 2008 03:16:14 +0000 |
parents | b2faa89cda23 |
children | 104dba047487 |
files | lisp/ChangeLog lisp/emacs-lisp/authors.el |
diffstat | 2 files changed, 178 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Fri Dec 19 03:15:20 2008 +0000 +++ b/lisp/ChangeLog Fri Dec 19 03:16:14 2008 +0000 @@ -1,3 +1,13 @@ +2008-12-19 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-fixed-case): New constant. + (authors-public-domain-files, authors-ignored-files): + (authors-valid-file-names, authors-renamed-files-alist): Update lists. + (authors-renamed-files-regexps): Add some new entries. + (authors-canonical-file-name): Don't complain about ignored files. + (authors-canonical-author-name): Doc fix. Respect authors-fixed-case. + (authors): Ensure error buffer is writable. + 2008-12-18 Kenichi Handa <handa@m17n.org> * international/fontset.el (script-representative-chars): Add more
--- a/lisp/emacs-lisp/authors.el Fri Dec 19 03:15:20 2008 +0000 +++ b/lisp/emacs-lisp/authors.el Fri Dec 19 03:16:14 2008 +0000 @@ -144,19 +144,42 @@ matches one of the REGEXPs, use REALNAME instead. If REALNAME is nil, ignore that author.") +(defconst authors-fixed-case + '("Bryan O'Sullivan" + "Christian von Roques" + "Craig McDaniel" + "David J. MacKenzie" + "David McCabe" + "David O'Toole" + "Dominique de Waleffe" + "Edward O'Connor" + "Exal de Jesus Garcia Carrillo" + "Greg McGary" + "Hans de Graaff" + "James TD Smith" + "Michael McNamara" + "Mike McEwan" + "Peter von der Ahe" + "Peter O'Gorman" + "Roland McGrath" + "Sean O'Rourke") + "List of authors whose names cannot be simply capitalized.") (defvar authors-public-domain-files - '("auto-show\\.el" - "form-d2\\.el" - "emerge\\.el" - "unused\\.el" + '("emerge\\.el" "vi\\.el" "feedmail\\.el" "mailpost\\.el" "hanoi\\.el" "meese\\.el" "studly\\.el" - "modula2\\.el") + "modula2\\.el" + "nnmaildir\\.el" + "nnil\\.el" + "b2m\\.c" + "unexhp9k800\\.c" + "emacsclient\\.1" + "check-doc-strings") "List of regexps matching files for which the FSF doesn't need papers.") @@ -172,7 +195,56 @@ '("external-lisp" "lock" "share-lib" "local-lisp" "noleim-Makefile.in" - "NEWS" "PROBLEMS" "FAQ" "AUTHORS" "FOR-RELEASE" "TODO") + "NEWS" "ORDERS" "PROBLEMS" "FAQ" "AUTHORS" "FOR-RELEASE" "TODO" "todo" + "MACHINES" "SERVICE" + "README.unicode" "README.multi-tty" "TUTORIAL.translators" + "NEWS.unicode" "COPYING.DJ" "Makefile.old" "Makefile.am" + "NEWS.1" "OOOOONEWS...OONEWS" "OOOONEWS" "etc/NEWS" + "NEWS.1-17" "NEWS.18" "NEWS.19" "NEWS.20" "NEWS.21" "NEWS.22" + "install-sh" "missing" "mkinstalldirs" + "termcap.dat" "termcap.src" "termcap.ucb" "termcap" + "ChangeLog.nextstep" "Emacs.clr" "spec.txt" + "gfdl.1" + "texi/Makefile.in" + "Imakefile" "icons/sink.ico" "aixcc.lex" + "nxml/char-name/unicode" + ;; Never had any meaningful changes logged, now deleted: + "split-man" "Xkeymap.txt" "ms-7bkermit" "ulimit.hack" + "gnu-hp300" "refcard.bit" "ledit.l" "forms.README" + "CXTERM-DIC/PY.tit" "CXTERM-DIC/ZIRANMA.tit" + "CXTERM-DIC/CTLau.tit" "CXTERM-DIC/CTLauB.tit" + "NICKLES.WORTH" "INTERVAL.IDEAS" "RCP" + "3B-MAXMEM" "AIX.DUMP" "SUN-SUPPORT" "XENIX" + "CODINGS" "CHARSETS" + "calc/INSTALL" "calc/Makefile" + "vms-pp.trans" "_emacs" "batcomp.com" + ;; MH-E stuff not in Emacs: + "import-emacs" "release-utils" + ;; Erc stuff not in Emacs: + "ChangeLog.2001" "ChangeLog.2002" "ChangeLog.2003" "ChangeLog.2004" + "ChangeLog.2005" + "README.extras" "dir-template" "mkChangeLog" "MkChangeLog" "erc-auto.in" + "CREDITS" "HACKING" + "debian/changelog" + "debian/control" + "debian/copyright" + "debian/maint/conffiles" + "debian/maint/conffiles.in" + "debian/maint/postinst" + "debian/maint/postinst.in" + "debian/maint/prerm" + "debian/maint/prerm.in" + "debian/README.Debian" + "debian/README.erc-speak" + "debian/rules" + "debian/scripts/install" + "debian/scripts/install.in" + "debian/scripts/remove" + "debian/scripts/remove.in" + "debian/scripts/startup" + "debian/scripts/startup.erc" + "debian/scripts/startup.erc-speak" + ) "List of files and directories to ignore. Changes to files in this list are not listed.") @@ -283,9 +355,32 @@ (defconst authors-valid-file-names '("aclocal.m4" + "build-ins.in" + "Makefile.noleim" "makedist.bat" - "make-delta") - "File names which are valid, but no longer exists (or cannot be + "makefile.def" + "makefile.nt" + "debug.bat.in" "emacs.bat.in" + ".gdbinit-union" + "alloca.s" + "make-delta" + "config.w95" + "emacstool.1" + "align.umax" + "cxux-crt0.s" + "gould-sigvec.s" + "getdate.y" + "ymakefile" + "permute-index" "index.perm" + "emacs21.ico" + "LPF" "LEDIT" "OTHER.EMACSES" + "emacs16_mac.png" "emacs24_mac.png" + "emacs256_mac.png" "emacs32_mac.png" + "emacs48_mac.png" "emacs512_mac.png" + ;; Deleted vms stuff: + "temacs.opt" "descrip.mms" "compile.com" "link.com" + ) + "File names which are valid, but no longer exist (or cannot be found) in the repository.") (defconst authors-renamed-files-alist @@ -297,12 +392,56 @@ ("unexnt.c" . "unexw32.c") ("s/windowsnt.h" . "s/ms-w32.h") ("config.emacs" . "configure") + ("config.h.dist" . "config.h.in") + ("config.h-dist" . "config.h.in") + ("paths.h-dist" . "paths.h.in") + ("patch1" . "sed1.inp") ("GETTING.GNU.SOFTWARE" . "FTP") + ("etc/MACHINES" . "MACHINES") + ("ONEWS" . "NEWS.19") + ("ONEWS.1" . "NEWS.1-17") + ("ONEWS.2" . "NEWS.1-17") + ("ONEWS.3" . "NEWS.18") + ("ONEWS.4" . "NEWS.18") + ("ORDERS.USA" . "ORDERS") + ("EUROPE" . "ORDERS") + ("DIFF" . "OTHER.EMACSES") + ("CCADIFF" . "OTHER.EMACSES") + ("GOSDIFF" . "OTHER.EMACSES") + ("Makefile.in.in" . "Makefile.in") ("leim-Makefile" . "leim/Makefile") ("leim-Makefile.in" . "leim/Makefile.in") ("emacs-lisp/testcover-ses.el" . "tcover-ses.el") ("emacs-lisp/testcover-unsafep.el" . "tcover-unsafep.el") ("INSTALL-CVS" . "INSTALL.CVS") + ("refcards/fr-drdref.pdf" . "refcards/fr-dired-ref.pdf") + ("gnus-logo.eps" . "refcards/gnus-logo.eps") + ("build-install" . "build-ins.in") + ("build-install.in" . "build-ins.in") + ("unidata/Makefile" . "unidata/Makefile.in") + ;; Not renamed, but we only have the latter in the Emacs repo. + ("trampver.texi.in" . "trampver.texi") + ("e/eterm" . "e/eterm-color") + ("e/eterm.ti" . "e/eterm-color.ti") + ("README.txt" . "README") + ("emacs.names" . "JOKES") + ("ED.WORSHIP" . "JOKES") + ("GNU.JOKES" . "JOKES") + ("CHARACTERS" . "TODO") + ("schema/xhtml-basic-form.rnc" . "schema/xhtml-bform.rnc" ) + ("schema/xhtml-basic-table.rnc" . "schema/xhtml-btable.rnc") + ("schema/xhtml-list.rnc" . "schema/xhtml-lst.rnc") + ("schema/xhtml-target.rnc" . "schema/xhtml-tgt.rnc") + ("schema/xhtml-style.rnc" . "schema/xhtml-xstyle.rnc") + ("schema/docbook-dyntbl.rnc" . "schema/docbk-dyntbl.rnc") + ("schema/docbook-soextbl.rnc" . "schema/docbk-soextbl.rn" ) + ("texi/url.txi" . "url.texi") + ;; Moved to different directories. + ("ctags.1" . "ctags.1") + ("etags.1" . "etags.1") + ("emacs.1" . "emacs.1") + ("emacsclient.1" . "emacsclient.1") + ("icons/emacs21.ico" . "emacs21.ico") ) "Alist of files which have been renamed during their lifetime. Elements are (OLDNAME . NEWNAME).") @@ -325,6 +464,13 @@ ("\\.[xp]bm$" . t) ("^paths\\." . t) ("^install\\." . t) + ("^\\(TUTORIAL[^/]*\\)" . "tutorials/\\1") + ("^\\(tree-widget/\\(?:default\\|folder\\)/[-a-z]+\\.png\\)$" . + "images/\\1") + ("^\\(images/icons/\\)mac\\(emacs\\)_\\([0-9]+\\)\\(\\.png\\)" . + "\\1\\2\\3_mac\\4") + ("\\(images/icons/\\)emacs_\\([0-9][0-9]\\)\\.png" . + "\\1hicolor/\\2x\\2/apps/emacs.png") ) "List regexps and rewriting rules for renamed files. Elements are (REGEXP . REPLACE). If REPLACE is a string, the file @@ -342,6 +488,12 @@ (let ((entry (assoc file authors-checked-files-alist)) relname valid) + ;; FIXME this is bogus. FILE should be re-checked in every + ;; different directory associated with LOG-FILE. + ;; Eg if src/ChangeLog refers to configure.in, and you happen to + ;; scan src/ before top-level/, the configure.in entries in + ;; top-level/ get ignored, because this mistakenly thinks + ;; top-level/configure.in does not exist. (if entry (cdr entry) (setq relname (file-name-nondirectory file)) @@ -365,6 +517,7 @@ (setq authors-checked-files-alist (cons (cons file valid) authors-checked-files-alist)) (unless (or valid + (member file authors-ignored-files) (string-match "[*]" file) (string-match "^[0-9.]+$" file)) (setq authors-invalid-file-names @@ -418,8 +571,9 @@ (defun authors-canonical-author-name (author) "Return a canonicalized form of AUTHOR, an author name. -If AUTHOR has an alias, use that. Remove email addresses. Capitalize -words in the author's name." +If AUTHOR has an entry in `authors-aliases', use that. Remove +email addresses. Capitalize words in the author's name, unless +it is found in `authors-fixed-case'." (let* ((aliases authors-aliases) regexps realname) (while aliases @@ -439,7 +593,8 @@ (setq author (replace-regexp-in-string "[ \t]+" " " author)) (unless (string-match "[-, \t]" author) (setq author "")) - (capitalize author))) + (or (car (member author authors-fixed-case)) + (capitalize author)))) (defun authors-scan-change-log (log-file table) "Scan change log LOG-FILE for author information. @@ -515,6 +670,7 @@ ;; Some entries contain a year range in front of the ;; author's name. (skip-chars-forward "-0-9 \t") + ;; FIXME handle multiline authors, comma-separated. (let ((author (buffer-substring-no-properties (point) (line-end-position)))) (setq author (authors-canonical-author-name author)) @@ -643,6 +799,7 @@ (unless noninteractive (when authors-invalid-file-names (with-current-buffer (get-buffer-create "*Authors Errors*") + (setq buffer-read-only nil) (erase-buffer) (set-buffer-file-coding-system authors-coding-system) (insert "Unrecognized file entries found:\n\n")