Commit eef72fce authored by Glenn Morris's avatar Glenn Morris

(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.
parent 46a367db
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> 2008-12-18 Kenichi Handa <handa@m17n.org>
* international/fontset.el (script-representative-chars): Add more * international/fontset.el (script-representative-chars): Add more
......
...@@ -144,19 +144,42 @@ Each entry is of the form (REALNAME REGEXP...). If an author's name ...@@ -144,19 +144,42 @@ Each entry is of the form (REALNAME REGEXP...). If an author's name
matches one of the REGEXPs, use REALNAME instead. matches one of the REGEXPs, use REALNAME instead.
If REALNAME is nil, ignore that author.") 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 (defvar authors-public-domain-files
'("auto-show\\.el" '("emerge\\.el"
"form-d2\\.el"
"emerge\\.el"
"unused\\.el"
"vi\\.el" "vi\\.el"
"feedmail\\.el" "feedmail\\.el"
"mailpost\\.el" "mailpost\\.el"
"hanoi\\.el" "hanoi\\.el"
"meese\\.el" "meese\\.el"
"studly\\.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.") "List of regexps matching files for which the FSF doesn't need papers.")
...@@ -172,7 +195,56 @@ listed.") ...@@ -172,7 +195,56 @@ listed.")
'("external-lisp" '("external-lisp"
"lock" "share-lib" "local-lisp" "lock" "share-lib" "local-lisp"
"noleim-Makefile.in" "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. "List of files and directories to ignore.
Changes to files in this list are not listed.") Changes to files in this list are not listed.")
...@@ -283,9 +355,32 @@ Changes to files in this list are not listed.") ...@@ -283,9 +355,32 @@ Changes to files in this list are not listed.")
(defconst authors-valid-file-names (defconst authors-valid-file-names
'("aclocal.m4" '("aclocal.m4"
"build-ins.in"
"Makefile.noleim"
"makedist.bat" "makedist.bat"
"make-delta") "makefile.def"
"File names which are valid, but no longer exists (or cannot be "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.") found) in the repository.")
(defconst authors-renamed-files-alist (defconst authors-renamed-files-alist
...@@ -297,12 +392,56 @@ found) in the repository.") ...@@ -297,12 +392,56 @@ found) in the repository.")
("unexnt.c" . "unexw32.c") ("unexnt.c" . "unexw32.c")
("s/windowsnt.h" . "s/ms-w32.h") ("s/windowsnt.h" . "s/ms-w32.h")
("config.emacs" . "configure") ("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") ("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" . "leim/Makefile")
("leim-Makefile.in" . "leim/Makefile.in") ("leim-Makefile.in" . "leim/Makefile.in")
("emacs-lisp/testcover-ses.el" . "tcover-ses.el") ("emacs-lisp/testcover-ses.el" . "tcover-ses.el")
("emacs-lisp/testcover-unsafep.el" . "tcover-unsafep.el") ("emacs-lisp/testcover-unsafep.el" . "tcover-unsafep.el")
("INSTALL-CVS" . "INSTALL.CVS") ("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. "Alist of files which have been renamed during their lifetime.
Elements are (OLDNAME . NEWNAME).") Elements are (OLDNAME . NEWNAME).")
...@@ -325,6 +464,13 @@ Elements are (OLDNAME . NEWNAME).") ...@@ -325,6 +464,13 @@ Elements are (OLDNAME . NEWNAME).")
("\\.[xp]bm$" . t) ("\\.[xp]bm$" . t)
("^paths\\." . t) ("^paths\\." . t)
("^install\\." . 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. "List regexps and rewriting rules for renamed files.
Elements are (REGEXP . REPLACE). If REPLACE is a string, the file Elements are (REGEXP . REPLACE). If REPLACE is a string, the file
...@@ -342,6 +488,12 @@ the file name." ...@@ -342,6 +488,12 @@ the file name."
(let ((entry (assoc file authors-checked-files-alist)) (let ((entry (assoc file authors-checked-files-alist))
relname relname
valid) 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 (if entry
(cdr entry) (cdr entry)
(setq relname (file-name-nondirectory file)) (setq relname (file-name-nondirectory file))
...@@ -365,6 +517,7 @@ the file name." ...@@ -365,6 +517,7 @@ the file name."
(setq authors-checked-files-alist (setq authors-checked-files-alist
(cons (cons file valid) authors-checked-files-alist)) (cons (cons file valid) authors-checked-files-alist))
(unless (or valid (unless (or valid
(member file authors-ignored-files)
(string-match "[*]" file) (string-match "[*]" file)
(string-match "^[0-9.]+$" file)) (string-match "^[0-9.]+$" file))
(setq authors-invalid-file-names (setq authors-invalid-file-names
...@@ -418,8 +571,9 @@ author and what he did in hash table TABLE. See the description of ...@@ -418,8 +571,9 @@ author and what he did in hash table TABLE. See the description of
(defun authors-canonical-author-name (author) (defun authors-canonical-author-name (author)
"Return a canonicalized form of AUTHOR, an author name. "Return a canonicalized form of AUTHOR, an author name.
If AUTHOR has an alias, use that. Remove email addresses. Capitalize If AUTHOR has an entry in `authors-aliases', use that. Remove
words in the author's name." email addresses. Capitalize words in the author's name, unless
it is found in `authors-fixed-case'."
(let* ((aliases authors-aliases) (let* ((aliases authors-aliases)
regexps realname) regexps realname)
(while aliases (while aliases
...@@ -439,7 +593,8 @@ words in the author's name." ...@@ -439,7 +593,8 @@ words in the author's name."
(setq author (replace-regexp-in-string "[ \t]+" " " author)) (setq author (replace-regexp-in-string "[ \t]+" " " author))
(unless (string-match "[-, \t]" author) (unless (string-match "[-, \t]" author)
(setq author "")) (setq author ""))
(capitalize author))) (or (car (member author authors-fixed-case))
(capitalize author))))
(defun authors-scan-change-log (log-file table) (defun authors-scan-change-log (log-file table)
"Scan change log LOG-FILE for author information. "Scan change log LOG-FILE for author information.
...@@ -515,6 +670,7 @@ TABLE is a hash table to add author information to." ...@@ -515,6 +670,7 @@ TABLE is a hash table to add author information to."
;; Some entries contain a year range in front of the ;; Some entries contain a year range in front of the
;; author's name. ;; author's name.
(skip-chars-forward "-0-9 \t") (skip-chars-forward "-0-9 \t")
;; FIXME handle multiline authors, comma-separated.
(let ((author (buffer-substring-no-properties (let ((author (buffer-substring-no-properties
(point) (line-end-position)))) (point) (line-end-position))))
(setq author (authors-canonical-author-name author)) (setq author (authors-canonical-author-name author))
...@@ -643,6 +799,7 @@ list of their contributions.\n") ...@@ -643,6 +799,7 @@ list of their contributions.\n")
(unless noninteractive (unless noninteractive
(when authors-invalid-file-names (when authors-invalid-file-names
(with-current-buffer (get-buffer-create "*Authors Errors*") (with-current-buffer (get-buffer-create "*Authors Errors*")
(setq buffer-read-only nil)
(erase-buffer) (erase-buffer)
(set-buffer-file-coding-system authors-coding-system) (set-buffer-file-coding-system authors-coding-system)
(insert "Unrecognized file entries found:\n\n") (insert "Unrecognized file entries found:\n\n")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment