aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/emacs-lisp/authors.el151
1 files changed, 147 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el
index 42f56fe1a30..9c937e26467 100644
--- a/lisp/emacs-lisp/authors.el
+++ b/lisp/emacs-lisp/authors.el
@@ -81,7 +81,17 @@ file individually.")
81 ("Sam Shteingold" . "Sam Steingold") 81 ("Sam Shteingold" . "Sam Steingold")
82 ("W{\L}Odek Bzyl" . "Wlodzimierz Bzyl") 82 ("W{\L}Odek Bzyl" . "Wlodzimierz Bzyl")
83 ("Kenneth Manheimer" . "Ken Manheimer") 83 ("Kenneth Manheimer" . "Ken Manheimer")
84 ("Kenichi HANDA" . "Kenichi Handa")) 84 ("Kenichi HANDA" . "Kenichi Handa")
85 ("Jay Adams" . "Jay R. Adams")
86 ("Joe Arceneaux" . "Josef Arceneaux")
87 ("K. Berry" . "Karl Berry")
88 ("Michael Ernst" . "Michael D. Ernst")
89 ("Dave Gillespie" . "David Gillespie")
90 ("Shane Hartman" . "K. Shane Hartman")
91 ("Francesco Potorti`" . "Francesco Potorti")
92 ("Roland Roberts" . "Roland B. Roberts")
93 ("David Smith" . "David M. Smith")
94 )
85 "Alist of author aliases. 95 "Alist of author aliases.
86 96
87Each entry is of the form (REGEXP . ALIAS). If an author's name 97Each entry is of the form (REGEXP . ALIAS). If an author's name
@@ -98,6 +108,121 @@ Changes to files matching one of the regexps in this list are not
98listed.") 108listed.")
99 109
100 110
111(defconst authors-fixed-entries
112 '(("Joe Arceneax" :wrote "xrdb.c")
113 ("Blitz Product Development Corporation" :wrote "ispell.el")
114 ("Frank Bresz" :wrote "diff.el")
115 ("David M. Brown" :wrote "array.el")
116 ("Gary Byers" :changed "xenix.h")
117 ("Shawn M. Carey" :wrote "freebsd.h")
118 ("Eric Decker" :changed "hp9000s800.h" "hpux.h" "sysdep.c")
119 ("Lawrence R. Dodd" :wrote "dired-x.el")
120 ("Viktor Dukhovni" :wrote "unexsunos4.c")
121 ("Paul Eggert" :wrote "rcs2log" "vcdiff")
122 ("Fred Fish" :changed "unexec.c")
123 ("Tim Fleehart" :wrote "makefile.nt")
124 ("Keith Gabryelski" :wrote "hexl.c")
125 ("Kevin Gallagher" :wrote "flow-ctrl.el")
126 ("Howard Gayle" :wrote "disp-table.el" "iso-syntax.el" "casetab.c")
127 ("Stephen Gildea" :wrote "refcard.tex" "mh-funcs.el" "mh-pick.el")
128 ("David Gillespie" :wrote "cl.texinfo")
129 ("Hewlett-Packard" :changed "emacsclient.c" "emacsserver.c"
130 "server.el" "keyboard.c")
131 ("Thomas Horsley" :wrote "cxux.h" "cxux7.h")
132 ("Indiana University Foundation" :changed "buffer.c" "buffer.h"
133 "indent.c" "search.c" "xdisp.c" "region-cache.c" "region-cache.h")
134 ("International Business Machines" :changed "emacs.c" "fileio.c"
135 "ibmrt.h" "process.c" "sysdep.c" "unexec.c" "ibmrt-aix.h")
136 ("Ishikawa Chiaki" :changed "aviion.h" "dgux.h")
137 ("Michael K. Johnson" :changed "configure.in" "emacs.c" "intel386.h"
138 "mem-limits.h" "process.c" "template.h" "sysdep.c" "syssignal.h" "systty.h" "unexec.c"
139 "ymakefile" "linux.h")
140 ("Kyle E. Jones" :wrote "mldrag.el")
141 ("Kenry Kautz" :wrote "bib-mode.el")
142 ("Joseph M. Kelsey" :changed "fileio.c" "vms-pwd.h" "vmsfns.c" "dir.h"
143 "uaf.h")
144 ("Sam Kendall" :changed "etags.c" "etags.el")
145 ("Richard King" :wrote "backquote.el" "userlock.el" "filelock.c")
146 ("Larry Kolodney" :wrote "cvtmail.c")
147 ("Sebastian Kremer" :changed "add-log.el")
148 ("Mark Lambert" :changed "process.c" "process.h")
149 ("Aaron Larson" :changed "bibtex.el")
150 ("James R. Larus" :wrote "mh-e.el")
151 ("Lars Lindberg" :changed "dabbrev.el" :wrote "imenu.el")
152 ("Lucid, Inc." :changed "bytecode.c" "byte-opt.el" "byte-run.el"
153 "bytecomp.el" "delsel.el" "disass.el" "faces.el" "font-lock.el"
154 "lmenu.el" "lselect.el" "mailabbrev.el" "select.el" "xfaces.c"
155 "xselect.c")
156 ("MCC" :changed "etags.c" "emacsclient.c" "emacsserver.c" "movemail.c"
157 "rmail.el" "rmailedit.el" "rmailkwd.el"
158 "rmailmsc.el" "rmailout.el" "rmailsum.el" "scribe.el"
159 "server.el" "lisp.h" "sysdep.c" "unexec.c" :wrote "xmenu.c")
160 ("Niall Mansfield" :changed "etags.c")
161 ("Brian Marick" :wrote "hideif.el")
162 ("Marko Kohtala" :changed "info.el")
163 ("Sidney Markowitz" :changed "doctor.el")
164 ("Richard Mlynarik" :wrote "env.c" "ehelp.el")
165 ("Mosur Mohan" :changed "etags.c")
166 ("Jeff Morgenthaler" :changed "flow-ctrl.el" "vt200.el" "vt201.el"
167 "vt220.el" "vt240.el")
168 ("Motorola" :changed "buff-menu.el")
169 ("Hiroshi Nakano" :changed "ralloc.c")
170 ("Sundar Narasimhan" :changed "rnewspost.el")
171 ("NeXT, Inc." :wrote "unexnext.c")
172 ("Mark Neale" :changed "fortran.el")
173 ("Martin Neitzel" :changed "sc.el")
174 ("Andrew Oram" :changed "miscellaneous changes to files in man/"
175 "man/calendar.texi")
176 ("Frederic Pierresteguy" :wrote "widget.c")
177 ("Michael D. Prange" :changed "tex-mode.el")
178 ("Paul Reilly" :wrote "gux5-4r2.h" "dgux5-4r3.h")
179 ("Roland B Roberts" :changed "files.el" "sort.el" "vmsproc.el"
180 "buffer.h" "callproc.c" "dired.c" "process.c" "sysdep.c" "systty.h"
181 "vmspaths.h" "build.com" "compile.com" "kepteditor.com" "precomp.com"
182 :wrote "logout.com" "mailemacs.com")
183 ("Guillermo J. Rozas" :wrote "fakemail.c")
184 ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el"
185 "sort.el" "alloc.c" "callint.c"
186 "config.h.in" "crt0.c" "data.c" "fns.c"
187 "lisp.h" "lread.c" "sun3.h"
188 "print.c" "ymakefile" :wrote "float-sup.el" "floatfns.c")
189 ("Schlumberger Technology Corporation" :changed "gud.el")
190 ("Gregor Schmid" :wrote "tcl-mode.el")
191 ("Rainer Schoepf" :wrote "alpha.h" "unexalpha.c")
192 ("William Sommerfeld" :wrote "emacsclient.c" "emacsserver.c" "scribe.el")
193 ("Leigh Stoller" :changed "emacsclient.c" "emacsserver.c" "server.el")
194 ("Steve Strassman" :wrote "spook.el")
195 ("Shinichirou Sugou" :changed "etags.c")
196 ("Sun Microsystems, Inc" :changed "emacsclient.c" "emacsserver.c"
197 "server.el" :wrote "emacs.icon" "emacstool.1" "emacstool.c" "sun-curs.el"
198 "sun-fns.el" "sun-mouse.el" "sun.el" "sunfns.c")
199 ("Kayvan Sylvan" :changed "sc.el")
200 ("Spencer Thomas" :changed "emacsclient.c" "emacsserver.c" "server.el"
201 "dabbrev.el" "unexec.c" "tcp.c" "gnus.texi")
202 ("Jonathan Vail" :changed "vc.el")
203 ("James Van Artsdalen" :changed "usg5-4.h" "unexec.c")
204 ("Geoff Voelker" :wrote "src/makefile.nt" "lisp/makefile.nt" "winnt.el"
205 "nt.c" "nt.h" "ntheap.c" "ntheap.h" "ntinevt.c"
206 "ntproc.c" "ntterm.c" "windowsnt.h")
207 ("Morten Welinder" :wrote "dosfns.c" "[many MSDOS files]" "msdos.h")
208 ("Pace Willisson" :wrote "ispell.el")
209 ("Garrett Wollman" :changed "sendmail.el")
210 ("Dale Worley" :changed "mail-extr.el")
211 ("Jamie Zawinski" :changed "bytecode.c" :wrote "disass.el" "tar-mode.el"))
212 "Actions taken from the original, manually (un)maintained AUTHORS file.")
213
214
215(defun authors-add-fixed-entries (table)
216 "Add actions from `authors-fixed-entries' to TABLE."
217 (dolist (entry authors-fixed-entries)
218 (let ((author (car entry))
219 action)
220 (dolist (item (cdr entry))
221 (if (symbolp item)
222 (setq action item)
223 (authors-add author item action table))))))
224
225
101(defun authors-obsolete-file-p (file) 226(defun authors-obsolete-file-p (file)
102 "Return non-nil if FILE is obsolete. 227 "Return non-nil if FILE is obsolete.
103FILE is considered obsolete if it matches on of the regular expressions 228FILE is considered obsolete if it matches on of the regular expressions
@@ -274,10 +399,12 @@ buffer *Authors* containing authorship information."
274 (table (make-hash-table :test 'equal)) 399 (table (make-hash-table :test 'equal))
275 (buffer-name "*Authors*")) 400 (buffer-name "*Authors*"))
276 (setq root (expand-file-name root)) 401 (setq root (expand-file-name root))
402 (authors-add-fixed-entries table)
277 (unless (file-exists-p (expand-file-name "src/emacs.c" root)) 403 (unless (file-exists-p (expand-file-name "src/emacs.c" root))
278 (error "Not the root directory of Emacs: %s" root)) 404 (error "Not the root directory of Emacs: %s" root))
279 (dolist (log logs) 405 (dolist (log logs)
280 (when (string-match "ChangeLog\\(.[0-9]+\\)?$" log) 406 (when (and (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
407 (not (string-match "/lispref/" log)))
281 (message "Scanning %s..." log) 408 (message "Scanning %s..." log)
282 (authors-scan-change-log log table))) 409 (authors-scan-change-log log table)))
283 (let ((els (authors-process-lines "find" root "-name" "*.el"))) 410 (let ((els (authors-process-lines "find" root "-name" "*.el")))
@@ -290,7 +417,23 @@ buffer *Authors* containing authorship information."
290 (maphash #'authors-print table) 417 (maphash #'authors-print table)
291 (sort-lines nil (point-min) (point-max)) 418 (sort-lines nil (point-min) (point-max))
292 (insert "\nLocal" " Variables:\ncoding: iso-2022-7bit\nEnd:\n") 419 (insert "\nLocal" " Variables:\ncoding: iso-2022-7bit\nEnd:\n")
293 (pop-to-buffer buffer-name))) 420 (unless noninteractive
294 421 (pop-to-buffer buffer-name))))
422
423
424;;;###autoload
425(defun batch-update-authors ()
426 "Produce an AUTHORS file.
427Call this function in batch mode with two command line arguments FILE
428and ROOT. FILE is the file to write, ROOT is the root directory of
429the Emacs source tree, from which to build the file."
430 (unless noninteractive
431 (error "`batch-update-authors' is to be used only with -batch"))
432 (when (/= (length command-line-args-left) 2)
433 (error "Call `batch-update-authors' with the name of the file to write"))
434 (let* ((file (pop command-line-args-left))
435 (root (pop command-line-args-left)))
436 (authors root)
437 (write-file file)))
295 438
296;; authors.el ends here 439;; authors.el ends here