(authors-aliases): Add mode aliases.
[bpt/emacs.git] / lisp / emacs-lisp / authors.el
index 166c16b..7ab0101 100644 (file)
@@ -1,6 +1,7 @@
 ;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2002, 2003, 2004, 2005,
+;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Maintainer: Kim F. Storm <storm@cua.dk>
@@ -20,8 +21,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -41,7 +42,7 @@ files.")
 
 (defconst authors-aliases
   '(
-    ("Andrew Innes" "Andrw Innes")
+    ("Andrew Csillag" "Drew Csillag")
     ("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc."
      "Barry A. Warsaw, ITB" "Barry Warsaw")
     ("Bj\e,Av\e(Brn Torkelsson" "Bjorn Torkelsson")
@@ -51,19 +52,25 @@ files.")
      "<Daniel.Pfeiffer@Informatik.START.dbp.de>")
     ("David Gillespie" "Dave Gillespie")
     ("David K\e,Ae\e(Bgedal" "David K..edal")
-    ("David M. Koppelman" "David M. Koppelman, Koppel@Ee.Lsu.Edu")
-    ("David M. Smith" "David Smith")
+    ("David M. Koppelman" "David M. Koppelman, Koppel@Ee.Lsu.Edu"
+     "David Koppelman")
+    ("David M. Smith" "David Smith" "David M Smith")
+    ("Ed L. Cashin" "Ed L Cashin")
     ("Edward M. Reingold" "Ed Reingold" "Edward M Reingold"
      "Reingold Edward M")
     ("Eli Zaretskii" "eliz")
+    ("Emilio C. Lopes" "Emilio Lopes")
+    ("Era Eriksson" "Era@Iki.Fi")
     ("Eric M. Ludlam" "Eric Ludlam")
     ("Eric S. Raymond" "Eric Raymond")
     ("Eric Youngdale" "(Eric Youngdale at youngdale@v6550c.nrl.navy.mil)")
+    ("Francis J. Wright" "Dr Francis J. Wright" "Francis Wright")
     ("Fran\e,Ag\e(Bois Pinard" "Francois Pinard")
-    ("Francesco Potorti" "Francesco Potorti`")
+    ("Francesco Potort\e,Al\e(B" "Francesco Potorti" "Francesco Potorti`")
     ("Frederic Pierresteguy" "Fred Pierresteguy")
     ("Geoff Voelker" "voelker")
     ("Hallvard B. Furuseth" "Hallvard B Furuseth")
+    ("Hrvoje Nik\e,B9\e(Bi\e,Bf\e(B" "Hrvoje Niksic")
     (nil "(afs@hplb.hpl.hp.com)")
     (nil "<Use-Author-Address-Header@\\[127.1\\]>")
     (nil "Code Extracted")
@@ -71,46 +78,66 @@ files.")
     (nil "ISO-2022-JP")
     ("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn")
     ("Jan Dj\e,Ad\e(Brv" "Jan D." "Jan Djarv")
-    ("Jay K. Adams" "jka@ece.cmu.edu")
-    ("Jay R. Adams" "Jay Adams")
+    ("Jay K. Adams" "jka@ece.cmu.edu" "Jay Adams")
+    ("J\e,Ai\e(Br\e,At\e(Bme Marant" "J\e,bi\e(Br\e,bt\e(Bme Marant" "Jerome Marant")
     ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
+    ("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard")
+    ("Johan Bockg\e,Ae\e(Brd" "Johan Bockgard")
+    ("John W. Eaton" "John Eaton")
     ("Jonathan I. Kamens" "Jonathan Kamens")
     ("Joseph Arceneaux" "Joe Arceneaux")
+    ("Juan Le\e,As\e(Bn Lahoz Garc\e,Am\e(Ba" "Juan-Leon Lahoz Garcia")
     ("K. Shane Hartman" "Shane Hartman")
     ("Kai Gro\e,A_\e(Bjohann" "Kai Grossjohann" "Kai Gro\e,b_\e(Bjohann"
-     "Kai.Grossjohann@Cs.Uni-Dortmund.De")
+     "Kai.Grossjohann@Cs.Uni-Dortmund.De"
+     "Kai.Grossjohann@Gmx.Net")
     ("Karl Berry" "K. Berry")
+    ("Kazushi Marukawa" "Kazushi")
     ("Ken Manheimer" "Kenneth Manheimer")
     ("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA")
+    ("Kevin Greiner" "Kevin J. Greiner")
     ("Kim F. Storm" "Kim Storm")
+    ("Kyle Jones" "Kyle E. Jones")
     ("Marcus G. Daniels" "Marcus Daniels")
+    ("Mark D. Baushke" "Mark D Baushke")
+    ("Martin Lorentzon" "Martin Lorentzson")
+    ("Matt Swift" "Matthew Swift")
+    ("Michael R. Mauger" "Michael Mauger")
     ("Michael D. Ernst" "Michael Ernst")
     ("Michael I. Bushnell" "Michael I Bushnell" "Michael I. Bushnell, P/Bsg")
+    ("Mikio Nakajima" "Nakajima Mikio")
     ("Paul Eggert" "eggert")
     ("Paul Reilly" "(pmr@legacy.pajato.com)")
-    ("Pavel Jan\e,Bm\e(Bk" "Pavel Jan\e,Am\e(Bk Ml.")
+    ("Pavel Jan\e,Bm\e(Bk" "Pavel Jan\e,Am\e(Bk Ml." "Pavel Jan\e,Am\e(Bk" "Pavel@Janik.Cz")
     ("Per Abrahamsen" "Per Abhiddenware")
+    ("Peter S. Galbraith" "Peter Galbraith")
+    ("Peter Runestig" "Peter 'luna' Runestig")
     ("Peter S. Galbraith" "Peter S Galbraith")
     ("Richard M. Stallman" "Richard M. Stallman,,," "Richard Stallman"
-     "rms" "rms@gnu.org") 
+     "rms" "rms@gnu.org")
     ("Robert J. Chassell" "Bob Chassell")
     ("Roland B. Roberts" "Roland B Roberts" "Roland Roberts")
     ("Rui-Tao Dong" "Rui-Tao Dong ~{6-Hpln~}")
     ("Sam Steingold" "Sam Shteingold")
+    ("Satyaki Das" "Indexed search by Satyaki Das")
+    ("Stefan Monnier" "Stefan")
     ("Stephen A. Wood" "(saw@cebaf.gov)")
     ("Steven L. Baur" "SL Baur" "Steven L Baur")
     ("Takaaki Ota" "Tak Ota")
+    ("Takahashi Naoto" "Naoto Takahashi")
+    ("Teodor Zlatanov" "Ted Zlatanov")
     ("Torbj\e,Av\e(Brn Axelsson" "Torbjvrn Axelsson")
     ("Torbj\e,Av\e(Brn Einarsson" "Torbj.*rn Einarsson")
     ("Toru Tomabechi" "Toru Tomabechi,")
     ("Vincent Del Vecchio" "Vince Del Vecchio")
+    ("William M. Perry" "Bill Perry")
     ("Wlodzimierz Bzyl" "W.*dek Bzyl")
     ("Yutaka NIIBE" "NIIBE Yutaka")
     )
   "Alist of author aliases.
 
 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.")
 
 
@@ -137,6 +164,13 @@ If REALNAME is nil, ignore that author.")
 Changes to files matching one of the regexps in this list are not
 listed.")
 
+(defconst authors-ignored-files
+  '("external-lisp"
+    "lock" "share-lib" "local-lisp"
+    "noleim-Makefile.in"
+    "NEWS" "PROBLEMS" "FAQ" "AUTHORS")
+  "List of files and directories to ignore.
+Changes to files in this list are not listed.")
 
 (defconst authors-fixed-entries
   '(("Richard M. Stallman" :wrote "[The original GNU emacs and numerous files]")
@@ -168,8 +202,8 @@ listed.")
     ("Michael K. Johnson" :changed "configure.in" "emacs.c" "intel386.h"
      "mem-limits.h" "process.c" "template.h" "sysdep.c" "syssignal.h" "systty.h" "unexec.c"
       "ymakefile" "linux.h")
-    ("Kyle E. Jones" :wrote "mldrag.el")
-    ("Kenry Kautz" :wrote "bib-mode.el")
+    ("Kyle Jones" :wrote "mldrag.el")
+    ("Henry Kautz" :wrote "bib-mode.el")
     ("Joseph M. Kelsey" :changed "fileio.c" "vms-pwd.h" "vmsfns.c" "dir.h"
      "uaf.h")
     ("Sam Kendall" :changed "etags.c" "etags.el")
@@ -207,7 +241,7 @@ listed.")
     ("Frederic Pierresteguy" :wrote "widget.c")
     ("Michael D. Prange" :changed "tex-mode.el")
     ("Paul Reilly" :wrote "gux5-4r2.h" "dgux5-4r3.h")
-    ("Roland B Roberts" :changed "files.el" "sort.el" "vmsproc.el"
+    ("Roland B. Roberts" :changed "files.el" "sort.el" "vmsproc.el"
      "buffer.h" "callproc.c" "dired.c" "process.c" "sysdep.c" "systty.h"
      "vmspaths.h" "build.com" "compile.com" "kepteditor.com" "precomp.com"
      :wrote "logout.com" "mailemacs.com")
@@ -238,14 +272,15 @@ listed.")
     ("Morten Welinder" :wrote "dosfns.c" "[many MSDOS files]" "msdos.h")
     ("Pace Willisson" :wrote "ispell.el")
     ("Garrett Wollman" :changed "sendmail.el")
-    ("Dale Worley" :changed "mail-extr.el")
+    ("Dale R. Worley" :changed "mail-extr.el")
     ("Jamie Zawinski" :changed "bytecode.c" :wrote "disass.el" "tar-mode.el"))
   "Actions taken from the original, manually (un)maintained AUTHORS file.")
 
 
 (defconst authors-valid-file-names
   '("aclocal.m4"
-    "makedist.bat")
+    "makedist.bat"
+    "make-delta")
   "File names which are valid, but no longer exists (or cannot be
 found) in the repository.")
 
@@ -259,6 +294,9 @@ found) in the repository.")
     ("s/windowsnt.h" . "s/ms-w32.h")
     ("config.emacs" . "configure")
     ("GETTING.GNU.SOFTWARE" . "FTP")
+    ("leim-Makefile" . "leim/Makefile")
+    ("leim-Makefile.in" . "leim/Makefile.in")
+    ("INSTALL-CVS" . "INSTALL.CVS")
     )
   "Alist of files which have been renamed during their lifetime.
 Elements are (OLDNAME . NEWNAME).")
@@ -320,8 +358,10 @@ the file name."
              (setq rules (cdr rules))))))
       (setq authors-checked-files-alist
            (cons (cons file valid) authors-checked-files-alist))
-      (unless valid
-       (setq authors-invalid-file-names 
+      (unless (or valid
+                 (string-match "[*]" file)
+                 (string-match "^[0-9.]+$" file))
+       (setq authors-invalid-file-names
              (cons (format "%s:%d: unrecognized `%s' for %s"
                            log-file
                            (1+ (count-lines (point-min) pos))
@@ -357,7 +397,8 @@ from `authors-obsolete-files-regexps'."
 ACTION is a keyword symbol describing what he did.  Record file,
 author and what he did in hash table TABLE.  See the description of
 `authors-scan-change-log' for the structure of the hash table."
-  (unless (or (authors-obsolete-file-p file)
+  (unless (or (member file authors-ignored-files)
+             (authors-obsolete-file-p file)
              (equal author ""))
     (let* ((value (gethash author table))
           (entry (assoc file value))
@@ -405,11 +446,13 @@ words in the author's name."
          (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)
+      (setq author ""))
     (capitalize author)))
 
-
 (defun authors-scan-change-log (log-file table)
   "Scan change log LOG-FILE for author information.
 
@@ -510,7 +553,7 @@ TABLE is a hash table to add author information to."
 CHANGES is an alist of entries (FILE (ACTION . COUNT) ...), as produced by
 `authors-scan-change-log'.
 The element added to `authors-author-list' is (AUTHOR WROTE CHANGED), where
-WROTE and CHANGED are lists of the files written and changed by AUTHOR." 
+WROTE and CHANGED are lists of the files written and changed by AUTHOR."
   (when author
     (let ((nchanged 0)
          wrote-list
@@ -549,7 +592,7 @@ WROTE and CHANGED are lists of the files written and changed by AUTHOR."
 (defun authors (root)
   "Extract author information from change logs and Lisp source files.
 ROOT is the root directory under which to find the files.  If called
-interactively, ROOT is read from the minibuffer.  
+interactively, ROOT is read from the minibuffer.
 Result is a buffer *Authors* containing authorship information, and a
 buffer *Authors Errors* containing references to unknown files."
   (interactive "DEmacs source directory: ")
@@ -563,8 +606,7 @@ buffer *Authors Errors* containing references to unknown files."
     (unless (file-exists-p (expand-file-name "src/emacs.c" root))
       (error "Not the root directory of Emacs: %s" root))
     (dolist (log logs)
-      (when (and (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
-                (not (string-match "/lispref/" log)))
+      (when (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
        (message "Scanning %s..." log)
        (authors-scan-change-log log table)))
     (let ((els (authors-process-lines "find" root "-name" "*.el")))
@@ -575,14 +617,14 @@ buffer *Authors Errors* containing references to unknown files."
     (set-buffer (get-buffer-create buffer-name))
     (erase-buffer)
     (set-buffer-file-coding-system authors-coding-system)
-    (insert 
+    (insert
 "Many people have contributed code included in the Free Software
 Foundation's distribution of GNU Emacs.  To show our appreciation for
 their public spirit, we list here in alphabetical order a condensed
 list of their contributions.\n")
     (let (authors-author-list a)
       (maphash #'authors-add-to-author-list table)
-      (setq authors-author-list 
+      (setq authors-author-list
            (sort authors-author-list
                  (lambda (a b) (string-lessp (car a) (car b)))))
       (dolist (a authors-author-list)
@@ -607,7 +649,7 @@ list of their contributions.\n")
                (insert "\n "))
            (insert " " file))
          (insert "\n")))))
-    (insert "\nLocal" " Variables:\ncoding: " 
+    (insert "\nLocal" " Variables:\ncoding: "
            (symbol-name authors-coding-system) "\nEnd:\n")
     (message "Generating buffer %s... done" buffer-name)
     (unless noninteractive
@@ -638,4 +680,5 @@ the Emacs source tree, from which to build the file."
     (authors root)
     (write-file file)))
 
+;;; arch-tag: 659d5900-5ff2-43b0-954c-a315cc1e4dc1
 ;;; authors.el ends here