diff options
| author | Gerd Moellmann | 2000-10-25 19:01:38 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-10-25 19:01:38 +0000 |
| commit | d5ab63b2e2def14d5eee7e91af21e6675140ffcb (patch) | |
| tree | 39986c38f7105767435699072b1fa0a929b20884 | |
| parent | fbb43902995c3a42daf442b3574cca0777b3c08b (diff) | |
| download | emacs-d5ab63b2e2def14d5eee7e91af21e6675140ffcb.tar.gz emacs-d5ab63b2e2def14d5eee7e91af21e6675140ffcb.zip | |
(batch-update-authors): New function.
(authors-fixed-entries): New defconst.
(authors-add-fixed-entries): New function.
(authors): Call it.: Don't process lispref/.
| -rw-r--r-- | lisp/emacs-lisp/authors.el | 151 |
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 | ||
| 87 | Each entry is of the form (REGEXP . ALIAS). If an author's name | 97 | Each 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 | |||
| 98 | listed.") | 108 | listed.") |
| 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. |
| 103 | FILE is considered obsolete if it matches on of the regular expressions | 228 | FILE 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. | ||
| 427 | Call this function in batch mode with two command line arguments FILE | ||
| 428 | and ROOT. FILE is the file to write, ROOT is the root directory of | ||
| 429 | the 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 |