changeset 32885:c5fc43371c70

(batch-update-authors): New function. (authors-fixed-entries): New defconst. (authors-add-fixed-entries): New function. (authors): Call it.: Don't process lispref/.
author Gerd Moellmann <gerd@gnu.org>
date Wed, 25 Oct 2000 19:01:38 +0000
parents f677903fb663
children cc2b1c9cf025
files lisp/emacs-lisp/authors.el
diffstat 1 files changed, 147 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/authors.el	Wed Oct 25 19:00:55 2000 +0000
+++ b/lisp/emacs-lisp/authors.el	Wed Oct 25 19:01:38 2000 +0000
@@ -81,7 +81,17 @@
     ("Sam Shteingold" . "Sam Steingold")
     ("W{\L}Odek Bzyl" . "Wlodzimierz Bzyl")
     ("Kenneth Manheimer" . "Ken Manheimer")
-    ("Kenichi HANDA" . "Kenichi Handa"))
+    ("Kenichi HANDA" . "Kenichi Handa")
+    ("Jay Adams" . "Jay R. Adams")
+    ("Joe Arceneaux" . "Josef Arceneaux")
+    ("K. Berry" . "Karl Berry")
+    ("Michael Ernst" . "Michael D. Ernst")
+    ("Dave Gillespie" . "David Gillespie")
+    ("Shane Hartman" . "K. Shane Hartman")
+    ("Francesco Potorti`" . "Francesco Potorti")
+    ("Roland Roberts" . "Roland B. Roberts")
+    ("David Smith" . "David M. Smith")
+    )
   "Alist of author aliases.
 
 Each entry is of the form (REGEXP . ALIAS).  If an author's name
@@ -98,6 +108,121 @@
 listed.")
 
 
+(defconst authors-fixed-entries
+  '(("Joe Arceneax" :wrote "xrdb.c")
+    ("Blitz Product Development Corporation" :wrote "ispell.el")
+    ("Frank Bresz" :wrote "diff.el")
+    ("David M. Brown" :wrote "array.el")
+    ("Gary Byers" :changed "xenix.h")
+    ("Shawn M. Carey" :wrote "freebsd.h")
+    ("Eric Decker"  :changed "hp9000s800.h" "hpux.h" "sysdep.c")
+    ("Lawrence R. Dodd" :wrote "dired-x.el")
+    ("Viktor Dukhovni" :wrote "unexsunos4.c")
+    ("Paul Eggert" :wrote "rcs2log" "vcdiff")
+    ("Fred Fish" :changed "unexec.c")
+    ("Tim Fleehart" :wrote "makefile.nt")
+    ("Keith Gabryelski" :wrote "hexl.c")
+    ("Kevin Gallagher" :wrote "flow-ctrl.el")
+    ("Howard Gayle" :wrote "disp-table.el" "iso-syntax.el" "casetab.c")
+    ("Stephen Gildea" :wrote "refcard.tex" "mh-funcs.el" "mh-pick.el")
+    ("David Gillespie" :wrote "cl.texinfo")
+    ("Hewlett-Packard" :changed "emacsclient.c" "emacsserver.c"
+     "server.el" "keyboard.c")
+    ("Thomas Horsley" :wrote "cxux.h" "cxux7.h")
+    ("Indiana University Foundation" :changed "buffer.c" "buffer.h"
+     "indent.c" "search.c" "xdisp.c" "region-cache.c" "region-cache.h")
+    ("International Business Machines" :changed "emacs.c" "fileio.c"
+     "ibmrt.h" "process.c" "sysdep.c" "unexec.c" "ibmrt-aix.h")
+    ("Ishikawa Chiaki" :changed "aviion.h" "dgux.h")
+    ("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")
+    ("Joseph M. Kelsey" :changed "fileio.c" "vms-pwd.h" "vmsfns.c" "dir.h"
+     "uaf.h")
+    ("Sam Kendall" :changed "etags.c" "etags.el")
+    ("Richard King" :wrote "backquote.el" "userlock.el" "filelock.c")
+    ("Larry Kolodney" :wrote "cvtmail.c")
+    ("Sebastian Kremer" :changed "add-log.el")
+    ("Mark Lambert" :changed "process.c" "process.h")
+    ("Aaron Larson" :changed "bibtex.el")
+    ("James R. Larus" :wrote "mh-e.el")
+    ("Lars Lindberg" :changed "dabbrev.el" :wrote "imenu.el")
+    ("Lucid, Inc." :changed "bytecode.c" "byte-opt.el" "byte-run.el"
+     "bytecomp.el" "delsel.el" "disass.el" "faces.el" "font-lock.el"
+     "lmenu.el" "lselect.el" "mailabbrev.el" "select.el" "xfaces.c"
+     "xselect.c")
+    ("MCC" :changed "etags.c" "emacsclient.c" "emacsserver.c" "movemail.c"
+     "rmail.el" "rmailedit.el" "rmailkwd.el"
+     "rmailmsc.el" "rmailout.el" "rmailsum.el" "scribe.el"
+     "server.el" "lisp.h" "sysdep.c" "unexec.c" :wrote "xmenu.c")
+    ("Niall Mansfield" :changed "etags.c")
+    ("Brian Marick" :wrote "hideif.el")
+    ("Marko Kohtala" :changed "info.el")
+    ("Sidney Markowitz" :changed "doctor.el")
+    ("Richard Mlynarik" :wrote "env.c" "ehelp.el")
+    ("Mosur Mohan" :changed "etags.c")
+    ("Jeff Morgenthaler" :changed "flow-ctrl.el" "vt200.el" "vt201.el"
+     "vt220.el" "vt240.el")
+    ("Motorola" :changed "buff-menu.el")
+    ("Hiroshi Nakano" :changed "ralloc.c")
+    ("Sundar Narasimhan" :changed "rnewspost.el")
+    ("NeXT, Inc." :wrote "unexnext.c")
+    ("Mark Neale" :changed "fortran.el")
+    ("Martin Neitzel" :changed "sc.el")
+    ("Andrew Oram" :changed "miscellaneous changes to files in man/"
+     "man/calendar.texi")
+    ("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"
+     "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")
+    ("Guillermo J. Rozas" :wrote "fakemail.c")
+    ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el"
+     "sort.el" "alloc.c" "callint.c"
+     "config.h.in" "crt0.c" "data.c" "fns.c"
+     "lisp.h" "lread.c" "sun3.h"
+     "print.c" "ymakefile" :wrote "float-sup.el" "floatfns.c")
+    ("Schlumberger Technology Corporation" :changed "gud.el")
+    ("Gregor Schmid" :wrote "tcl-mode.el")
+    ("Rainer Schoepf" :wrote "alpha.h" "unexalpha.c")
+    ("William Sommerfeld" :wrote "emacsclient.c" "emacsserver.c" "scribe.el")
+    ("Leigh Stoller" :changed "emacsclient.c" "emacsserver.c" "server.el")
+    ("Steve Strassman" :wrote "spook.el")
+    ("Shinichirou Sugou" :changed "etags.c")
+    ("Sun Microsystems, Inc" :changed "emacsclient.c" "emacsserver.c"
+     "server.el" :wrote "emacs.icon" "emacstool.1" "emacstool.c" "sun-curs.el"
+     "sun-fns.el" "sun-mouse.el" "sun.el" "sunfns.c")
+    ("Kayvan Sylvan" :changed "sc.el")
+    ("Spencer Thomas" :changed "emacsclient.c" "emacsserver.c" "server.el"
+     "dabbrev.el" "unexec.c" "tcp.c" "gnus.texi")
+    ("Jonathan Vail" :changed "vc.el")
+    ("James Van Artsdalen" :changed "usg5-4.h" "unexec.c")
+    ("Geoff Voelker" :wrote "src/makefile.nt" "lisp/makefile.nt" "winnt.el"
+     "nt.c" "nt.h" "ntheap.c" "ntheap.h" "ntinevt.c"
+     "ntproc.c" "ntterm.c" "windowsnt.h")
+    ("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")
+    ("Jamie Zawinski" :changed "bytecode.c" :wrote "disass.el" "tar-mode.el"))
+  "Actions taken from the original, manually (un)maintained AUTHORS file.")
+
+
+(defun authors-add-fixed-entries (table)
+  "Add actions from `authors-fixed-entries' to TABLE."
+  (dolist (entry authors-fixed-entries)
+    (let ((author (car entry))
+	  action)
+      (dolist (item (cdr entry))
+	(if (symbolp item)
+	    (setq action item)
+	  (authors-add author item action table))))))
+
+	   
 (defun authors-obsolete-file-p (file)
   "Return non-nil if FILE is obsolete.
 FILE is considered obsolete if it matches on of the regular expressions
@@ -274,10 +399,12 @@
 	(table (make-hash-table :test 'equal))
 	(buffer-name "*Authors*"))
     (setq root (expand-file-name root))
+    (authors-add-fixed-entries table)
     (unless (file-exists-p (expand-file-name "src/emacs.c" root))
       (error "Not the root directory of Emacs: %s" root))
     (dolist (log logs)
-      (when (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
+      (when (and (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
+		 (not (string-match "/lispref/" log)))
 	(message "Scanning %s..." log)
 	(authors-scan-change-log log table)))
     (let ((els (authors-process-lines "find" root "-name" "*.el")))
@@ -290,7 +417,23 @@
     (maphash #'authors-print table)
     (sort-lines nil (point-min) (point-max))
     (insert "\nLocal" " Variables:\ncoding: iso-2022-7bit\nEnd:\n")
-    (pop-to-buffer buffer-name)))
-  
+    (unless noninteractive
+      (pop-to-buffer buffer-name))))
+
+
+;;;###autoload
+(defun batch-update-authors ()
+  "Produce an AUTHORS file.
+Call this function in batch mode with two command line arguments FILE
+and ROOT.  FILE is the file to write, ROOT is the root directory of
+the Emacs source tree, from which to build the file."
+  (unless noninteractive
+    (error "`batch-update-authors' is to be used only with -batch"))
+  (when (/= (length command-line-args-left) 2)
+    (error "Call `batch-update-authors' with the name of the file to write"))
+  (let* ((file (pop command-line-args-left))
+	 (root (pop command-line-args-left)))
+    (authors root)
+    (write-file file)))
 
 ;; authors.el ends here