annotate lisp/emacs-lisp/authors.el @ 38588:08a4c6c00af0

(init_from_display_pos): If POS is in an overlay string, deal with the first overlay string having an image `display' property. (try_window_reusing_current_matrix, compute_line_metrics): Fix computation of row's visible height for the case that part of the row is invisible above and part of the row is at the same time invisible below the window.
author Gerd Moellmann <gerd@gnu.org>
date Fri, 27 Jul 2001 15:29:16 +0000
parents 253f761ad37b
children 8a9386a43e41
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1 ;;; authors.el --- utility for maintaining Emacs' AUTHORS file
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
2
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
3 ;; Copyright (C) 2000 Free Software Foundation, Inc.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
4
33752
9ebf8de0e42c Remove autoload cookied, add author,
Gerd Moellmann <gerd@gnu.org>
parents: 33151
diff changeset
5 ;; Author: Gerd Moellmann <gerd@gnu.org>
9ebf8de0e42c Remove autoload cookied, add author,
Gerd Moellmann <gerd@gnu.org>
parents: 33151
diff changeset
6 ;; Maintainer: FSF
9ebf8de0e42c Remove autoload cookied, add author,
Gerd Moellmann <gerd@gnu.org>
parents: 33151
diff changeset
7 ;; Keywords: maint
9ebf8de0e42c Remove autoload cookied, add author,
Gerd Moellmann <gerd@gnu.org>
parents: 33151
diff changeset
8
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
10
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
14 ;; any later version.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
15
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
19 ;; GNU General Public License for more details.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
20
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
24 ;; Boston, MA 02111-1307, USA.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
25
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
26 ;;; Commentary:
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
27
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
28 ;; Use M-x authors RET to create an *Authors* buffer that can used as
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
29 ;; or merged with Emacs' AUTHORS file.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
30
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
31 ;;; Code:
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
32
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
33 (defconst authors-many-files 20
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
34 "Maximum number of files for which to print individual information.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
35 If an author has modified more files, only a single entry is
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
36 printed telling how many files he changed, instead of listing each
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
37 file individually.")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
38
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
39 (defconst authors-aliases
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
40 '(("eliz" . "Eli Zaretskii")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
41 ("Richard Stallman" . "Richard M. Stallman")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
42 ("Richard M. Stallman,,," . "Richard M. Stallman")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
43 ("Richard Stallmao" . "Richard M. Stallman")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
44 ("rms@gnu.org" . "Richard M. Stallman")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
45 ("NIIBE Yutaka" . "Yutaka NIIBE")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
46 ("(saw@cebaf.gov)" . "Stephen A. Wood")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
47 ("(pmr@legacy.pajato.com)" . "Paul Reilly")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
48 ("(Eric Youngdale at youngdale@v6550c.nrl.navy.mil)" . "Eric Youngdale")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
49 ("<Daniel.Pfeiffer@Informatik.START.db.de>" . "Daniel Pfeiffer")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
50 ("<Daniel.Pfeiffer@Informatik.START.dbp.de>" . "Daniel Pfeiffer")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
51 ("(afs@hplb.hpl.hp.com)" . "ignore")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
52 ("<Use-Author-Address-Header@\\[127.1\\]>" . "ignore")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
53 ("Code Extracted" . "ignore")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
54 ("Fsf" . "ignore")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
55 ("David M. Koppelman, Koppel@Ee.Lsu.Edu" . "David M. Koppelman")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
56 ("jka@ece.cmu.edu" . "Jay K. Adams")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
57 ("Per Abhiddenware; you can redistribute it and/or modify" . "Per Abrahamsen")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
58 ("Andrw Innes" . "Andrew Innes")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
59 ("Barry Warsaw" . "Barry A. Warsaw")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
60 ("Barry A. Warsaw, Century Computing, Inc." . "Barry A. Warsaw")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
61 ("Barry A. Warsaw, ITB" . "Barry A. Warsaw")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
62 ("Ken'ichi Handa" . "Kenichi Handa")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
63 ("Bob Chassell" . "Robert J. Chassell")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
64 ("SL Baur" . "Steven L. Baur")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
65 ("Steven L Baur" . "Steven L. Baur")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
66 ("eggert" . "Paul Eggert")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
67 ("voelker" . "Geoff Voelker")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
68 ("rms" . "Richard M. Stallman")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
69 ("Edward M Reingold" . "Edward M. Reingold")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
70 ("Eric Ludlam" . "Eric M. Ludlam")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
71 ("Eric Raymond" . "Eric S. Raymond")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
72 ("Francois Pinard" . "François Pinard")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
73 ("Fred Pierresteguy" . "Frederic Pierresteguy")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
74 ("Hallvard B Furuseth" . "Hallvard B. Furuseth")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
75 ("ISO-2022-JP" . "ignore")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
76 ("Jens-Ulrik Petersen" . "Jens-Ulrik Holger Petersen")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
77 ("Christoph.Wedler@sap.com" . "Christoph Wedler")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
78 ("Jonathan Kamens" . "Jonathan I. Kamens")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
79 ("Kim Storm" . "Kim F. Storm")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
80 ("Marcus Daniels" . "Marcus G. Daniels")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
81 ("Michael I Bushnell" . "Michael I. Bushnell")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
82 ("Michael I. Bushnell, P/Bsg" . "Michael I. Bushnell")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
83 ("Reingold Edward M" . "Edward M. Reingold")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
84 ("Roland B Roberts" . "Roland B. Roberts")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
85 ("Sam Shteingold" . "Sam Steingold")
32832
1ce7dce8710b (authors-aliases): Add some more aliases.
Gerd Moellmann <gerd@gnu.org>
parents: 32529
diff changeset
86 ("W{\L}Odek Bzyl" . "Wlodzimierz Bzyl")
1ce7dce8710b (authors-aliases): Add some more aliases.
Gerd Moellmann <gerd@gnu.org>
parents: 32529
diff changeset
87 ("Kenneth Manheimer" . "Ken Manheimer")
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
88 ("Kenichi HANDA" . "Kenichi Handa")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
89 ("Jay Adams" . "Jay R. Adams")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
90 ("Joe Arceneaux" . "Josef Arceneaux")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
91 ("K. Berry" . "Karl Berry")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
92 ("Michael Ernst" . "Michael D. Ernst")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
93 ("Dave Gillespie" . "David Gillespie")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
94 ("Shane Hartman" . "K. Shane Hartman")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
95 ("Francesco Potorti`" . "Francesco Potorti")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
96 ("Roland Roberts" . "Roland B. Roberts")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
97 ("David Smith" . "David M. Smith")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
98 )
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
99 "Alist of author aliases.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
100
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
101 Each entry is of the form (REGEXP . ALIAS). If an author's name
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
102 matches REGEXP, use ALIAS instead. The special alias \"ignore\" means
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
103 ignore that author.")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
104
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
105
33151
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
106 (defvar authors-public-domain-files
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
107 '("auto-show\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
108 "form-d2\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
109 "emerge\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
110 "unused\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
111 "vi\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
112 "feedmail\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
113 "mailpost\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
114 "hanoi\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
115 "meese\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
116 "studly\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
117 "modula2\\.el")
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
118 "List of regexps matching files for which the FSF doesn't need papers.")
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
119
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
120
32028
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
121 (defvar authors-obsolete-files-regexps
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
122 '("vc-\\*\\.el$"
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
123 "spec.txt$"
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
124 "vc-\\(rcs\\|cvs\\|sccs\\)-hooks\\.el$")
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
125 "List of regexps matching obsolete files.
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
126 Changes to files matching one of the regexps in this list are not
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
127 listed.")
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
128
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
129
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
130 (defconst authors-fixed-entries
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
131 '(("Joe Arceneax" :wrote "xrdb.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
132 ("Blitz Product Development Corporation" :wrote "ispell.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
133 ("Frank Bresz" :wrote "diff.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
134 ("David M. Brown" :wrote "array.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
135 ("Gary Byers" :changed "xenix.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
136 ("Shawn M. Carey" :wrote "freebsd.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
137 ("Eric Decker" :changed "hp9000s800.h" "hpux.h" "sysdep.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
138 ("Lawrence R. Dodd" :wrote "dired-x.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
139 ("Viktor Dukhovni" :wrote "unexsunos4.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
140 ("Paul Eggert" :wrote "rcs2log" "vcdiff")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
141 ("Fred Fish" :changed "unexec.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
142 ("Tim Fleehart" :wrote "makefile.nt")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
143 ("Keith Gabryelski" :wrote "hexl.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
144 ("Kevin Gallagher" :wrote "flow-ctrl.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
145 ("Howard Gayle" :wrote "disp-table.el" "iso-syntax.el" "casetab.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
146 ("Stephen Gildea" :wrote "refcard.tex" "mh-funcs.el" "mh-pick.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
147 ("David Gillespie" :wrote "cl.texinfo")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
148 ("Hewlett-Packard" :changed "emacsclient.c" "emacsserver.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
149 "server.el" "keyboard.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
150 ("Thomas Horsley" :wrote "cxux.h" "cxux7.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
151 ("Indiana University Foundation" :changed "buffer.c" "buffer.h"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
152 "indent.c" "search.c" "xdisp.c" "region-cache.c" "region-cache.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
153 ("International Business Machines" :changed "emacs.c" "fileio.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
154 "ibmrt.h" "process.c" "sysdep.c" "unexec.c" "ibmrt-aix.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
155 ("Ishikawa Chiaki" :changed "aviion.h" "dgux.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
156 ("Michael K. Johnson" :changed "configure.in" "emacs.c" "intel386.h"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
157 "mem-limits.h" "process.c" "template.h" "sysdep.c" "syssignal.h" "systty.h" "unexec.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
158 "ymakefile" "linux.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
159 ("Kyle E. Jones" :wrote "mldrag.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
160 ("Kenry Kautz" :wrote "bib-mode.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
161 ("Joseph M. Kelsey" :changed "fileio.c" "vms-pwd.h" "vmsfns.c" "dir.h"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
162 "uaf.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
163 ("Sam Kendall" :changed "etags.c" "etags.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
164 ("Richard King" :wrote "backquote.el" "userlock.el" "filelock.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
165 ("Larry Kolodney" :wrote "cvtmail.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
166 ("Sebastian Kremer" :changed "add-log.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
167 ("Mark Lambert" :changed "process.c" "process.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
168 ("Aaron Larson" :changed "bibtex.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
169 ("James R. Larus" :wrote "mh-e.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
170 ("Lars Lindberg" :changed "dabbrev.el" :wrote "imenu.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
171 ("Lucid, Inc." :changed "bytecode.c" "byte-opt.el" "byte-run.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
172 "bytecomp.el" "delsel.el" "disass.el" "faces.el" "font-lock.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
173 "lmenu.el" "lselect.el" "mailabbrev.el" "select.el" "xfaces.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
174 "xselect.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
175 ("MCC" :changed "etags.c" "emacsclient.c" "emacsserver.c" "movemail.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
176 "rmail.el" "rmailedit.el" "rmailkwd.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
177 "rmailmsc.el" "rmailout.el" "rmailsum.el" "scribe.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
178 "server.el" "lisp.h" "sysdep.c" "unexec.c" :wrote "xmenu.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
179 ("Niall Mansfield" :changed "etags.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
180 ("Brian Marick" :wrote "hideif.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
181 ("Marko Kohtala" :changed "info.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
182 ("Sidney Markowitz" :changed "doctor.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
183 ("Richard Mlynarik" :wrote "env.c" "ehelp.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
184 ("Mosur Mohan" :changed "etags.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
185 ("Jeff Morgenthaler" :changed "flow-ctrl.el" "vt200.el" "vt201.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
186 "vt220.el" "vt240.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
187 ("Motorola" :changed "buff-menu.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
188 ("Hiroshi Nakano" :changed "ralloc.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
189 ("Sundar Narasimhan" :changed "rnewspost.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
190 ("NeXT, Inc." :wrote "unexnext.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
191 ("Mark Neale" :changed "fortran.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
192 ("Martin Neitzel" :changed "sc.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
193 ("Andrew Oram" :changed "miscellaneous changes to files in man/"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
194 "man/calendar.texi")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
195 ("Frederic Pierresteguy" :wrote "widget.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
196 ("Michael D. Prange" :changed "tex-mode.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
197 ("Paul Reilly" :wrote "gux5-4r2.h" "dgux5-4r3.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
198 ("Roland B Roberts" :changed "files.el" "sort.el" "vmsproc.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
199 "buffer.h" "callproc.c" "dired.c" "process.c" "sysdep.c" "systty.h"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
200 "vmspaths.h" "build.com" "compile.com" "kepteditor.com" "precomp.com"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
201 :wrote "logout.com" "mailemacs.com")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
202 ("Guillermo J. Rozas" :wrote "fakemail.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
203 ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
204 "sort.el" "alloc.c" "callint.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
205 "config.h.in" "crt0.c" "data.c" "fns.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
206 "lisp.h" "lread.c" "sun3.h"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
207 "print.c" "ymakefile" :wrote "float-sup.el" "floatfns.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
208 ("Schlumberger Technology Corporation" :changed "gud.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
209 ("Gregor Schmid" :wrote "tcl-mode.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
210 ("Rainer Schoepf" :wrote "alpha.h" "unexalpha.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
211 ("William Sommerfeld" :wrote "emacsclient.c" "emacsserver.c" "scribe.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
212 ("Leigh Stoller" :changed "emacsclient.c" "emacsserver.c" "server.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
213 ("Steve Strassman" :wrote "spook.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
214 ("Shinichirou Sugou" :changed "etags.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
215 ("Sun Microsystems, Inc" :changed "emacsclient.c" "emacsserver.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
216 "server.el" :wrote "emacs.icon" "emacstool.1" "emacstool.c" "sun-curs.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
217 "sun-fns.el" "sun-mouse.el" "sun.el" "sunfns.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
218 ("Kayvan Sylvan" :changed "sc.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
219 ("Spencer Thomas" :changed "emacsclient.c" "emacsserver.c" "server.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
220 "dabbrev.el" "unexec.c" "tcp.c" "gnus.texi")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
221 ("Jonathan Vail" :changed "vc.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
222 ("James Van Artsdalen" :changed "usg5-4.h" "unexec.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
223 ("Geoff Voelker" :wrote "src/makefile.nt" "lisp/makefile.nt" "winnt.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
224 "nt.c" "nt.h" "ntheap.c" "ntheap.h" "ntinevt.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
225 "ntproc.c" "ntterm.c" "windowsnt.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
226 ("Morten Welinder" :wrote "dosfns.c" "[many MSDOS files]" "msdos.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
227 ("Pace Willisson" :wrote "ispell.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
228 ("Garrett Wollman" :changed "sendmail.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
229 ("Dale Worley" :changed "mail-extr.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
230 ("Jamie Zawinski" :changed "bytecode.c" :wrote "disass.el" "tar-mode.el"))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
231 "Actions taken from the original, manually (un)maintained AUTHORS file.")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
232
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
233
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
234 (defun authors-add-fixed-entries (table)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
235 "Add actions from `authors-fixed-entries' to TABLE."
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
236 (dolist (entry authors-fixed-entries)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
237 (let ((author (car entry))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
238 action)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
239 (dolist (item (cdr entry))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
240 (if (symbolp item)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
241 (setq action item)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
242 (authors-add author item action table))))))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
243
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
244
32028
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
245 (defun authors-obsolete-file-p (file)
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
246 "Return non-nil if FILE is obsolete.
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
247 FILE is considered obsolete if it matches on of the regular expressions
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
248 from `authors-obsolete-files-regexps'."
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
249 (let (obsolete-p
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
250 (regexps authors-obsolete-files-regexps))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
251 (while (and regexps (not obsolete-p))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
252 (setq obsolete-p (string-match (car regexps) file)
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
253 regexps (cdr regexps)))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
254 obsolete-p))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
255
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
256
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
257 (defun authors-add (author file action table)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
258 "Record that AUTHOR worked on FILE.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
259 ACTION is a keyword symbol describing what he did. Record file,
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
260 author and what he did in hash table TABLE. See the description of
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
261 `authors-scan-change-log' for the structure of the hash table."
32529
efaa4e4c5fef (authors-add): Don't add an entry if
Gerd Moellmann <gerd@gnu.org>
parents: 32028
diff changeset
262 (unless (or (authors-obsolete-file-p file)
efaa4e4c5fef (authors-add): Don't add an entry if
Gerd Moellmann <gerd@gnu.org>
parents: 32028
diff changeset
263 (equal author ""))
32028
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
264 (let* ((value (gethash author table))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
265 (entry (assoc file value)))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
266 (if (null entry)
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
267 (puthash author (cons (list file action) value) table)
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
268 (unless (memq action entry)
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
269 (nconc entry (list action)))))))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
270
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
271
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
272 (defun authors-process-lines (program &rest args)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
273 "Execute PROGRAM with ARGS, returning its output as a list of lines.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
274 Signal an error if the program returns with a non-zero exit status."
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
275 (with-temp-buffer
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
276 (let ((status (apply 'call-process program nil (current-buffer) nil args)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
277 (unless (eq status 0)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
278 (error "%s exited with status %s" program status))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
279 (goto-char (point-min))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
280 (let (lines)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
281 (while (not (eobp))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
282 (setq lines (cons (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
283 (line-beginning-position)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
284 (line-end-position))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
285 lines))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
286 (forward-line 1))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
287 (nreverse lines)))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
288
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
289
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
290 (defun authors-canonical-author-name (author)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
291 "Return a canonicalized form of AUTHOR, an author name.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
292 If AUTHOR has an alias, use that. Remove email addresses. Capitalize
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
293 words in the author's name."
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
294 (let ((aliases authors-aliases))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
295 (while aliases
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
296 (when (string-match (car (car aliases)) author)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
297 (setq author (cdr (car aliases))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
298 aliases nil))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
299 (setq aliases (cdr aliases))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
300 (setq author (replace-regexp-in-string "[ \t]*[(<].*$" "" author))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
301 (setq author (replace-regexp-in-string "^[ \t]+" "" author))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
302 (setq author (replace-regexp-in-string "[ \t]+$" "" author))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
303 (capitalize author))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
304
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
305
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
306 (defun authors-scan-change-log (file table)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
307 "Scan change log FILE for author information.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
308
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
309 For each change mentioned in the log, add an entry to hash table TABLE
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
310 under the author's canonical name.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
311
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
312 Keys of TABLE are author names. Values are alists of entries (FILE
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
313 ACTION...). FILE is one file the author worked on. The rest of the
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
314 entry is a list of keyword symbols describing what he did with the
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
315 file.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
316
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
317 :wrote means the author wrote the file
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
318 :changed means he changed the file."
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
319
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
320 (let* ((enable-local-variables t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
321 (enable-local-eval t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
322 (existing-buffer (get-file-buffer file))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
323 (buffer (find-file-noselect file))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
324 author)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
325 (save-excursion
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
326 (set-buffer buffer)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
327 (save-restriction
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
328 (widen)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
329 (goto-char (point-min))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
330 (while (re-search-forward "^[0-9]\\|^[ \t]+\\* " nil t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
331 (beginning-of-line)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
332 (cond ((looking-at "^[0-9]+-[0-9]+-[0-9]+")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
333 (skip-chars-forward " \t+:0-9-")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
334 (setq author (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
335 (point) (line-end-position)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
336 (setq author (authors-canonical-author-name author))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
337 (forward-line 1))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
338 ((looking-at "^[ \t]+\\*")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
339 (let ((line (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
340 (match-end 0) (line-end-position))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
341 (while (and (not (string-match ":" line))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
342 (forward-line 1)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
343 (not (looking-at ":\\|^[ \t]*$")))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
344 (setq line (concat line
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
345 (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
346 (line-beginning-position)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
347 (line-end-position)))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
348 (when (string-match ":" line)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
349 (setq line (substring line 0 (match-beginning 0)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
350 (setq line (replace-regexp-in-string "[[(<{].*$" "" line))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
351 (setq line (replace-regexp-in-string "," "" line))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
352 (dolist (file (split-string line))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
353 (setq file (file-name-nondirectory file))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
354 ;(message "%s changed %s" author file)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
355 (authors-add author file :changed table)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
356 (forward-line 1)))))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
357 (unless existing-buffer
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
358 (kill-buffer buffer))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
359
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
360
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
361 (defun authors-scan-el (file table)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
362 "Scan Lisp file FILE for author information.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
363 TABLE is a hash table to add author information to."
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
364 (let* ((existing-buffer (get-file-buffer file))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
365 (enable-local-variables t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
366 (enable-local-eval t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
367 (buffer (find-file-noselect file)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
368 (save-excursion
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
369 (set-buffer buffer)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
370 (save-restriction
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
371 (widen)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
372 (goto-char (point-min))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
373 (while (and (re-search-forward
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
374 "^;+[ \t]*\\(Author\\|Commentary\\):[ \t]*" nil t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
375 (not (string= (match-string 1) "Commentary")))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
376 ;; Some entries contain a year range in front of the
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
377 ;; author's name.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
378 (skip-chars-forward "-0-9 \t")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
379 (let ((author (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
380 (point) (line-end-position))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
381 (setq author (authors-canonical-author-name author))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
382 (setq file (file-name-nondirectory file))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
383 (authors-add author file :wrote table)))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
384 (unless existing-buffer
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
385 (kill-buffer buffer))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
386
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
387
33151
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
388 (defun authors-public-domain-p (file)
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
389 "Return t if FILE is a file that was put in public domain."
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
390 (let ((public-domain-p nil)
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
391 (list authors-public-domain-files))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
392 (while (and list (not public-domain-p))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
393 (when (string-match (car list) file)
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
394 (setq public-domain-p t))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
395 (setq list (cdr list)))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
396 public-domain-p))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
397
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
398
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
399 (defun authors-print (author changes)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
400 "Insert information about AUTHOR's work on Emacs into the current buffer.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
401 CHANGES is an alist of entries (FILE ACTION...), as produced by
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
402 `authors-scan-change-log'."
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
403 (unless (equal author "Ignore")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
404 (let ((nchanged 0))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
405 (dolist (change changes)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
406 (let ((actions (cdr change))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
407 (file (car change)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
408 (if (memq :wrote actions)
33151
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
409 (progn
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
410 (insert author " (wrote) " file)
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
411 (when (authors-public-domain-p file)
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
412 (insert " (public domain)"))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
413 (insert "\n"))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
414 (setq nchanged (1+ nchanged)))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
415 (if (> nchanged authors-many-files)
32005
01a7fea88dc1 (authors-print): Rephrase many-files string.
Miles Bader <miles@gnu.org>
parents: 31957
diff changeset
416 (insert author " (changed) [more than "
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
417 (int-to-string authors-many-files) " files]\n")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
418 (dolist (change changes)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
419 (let ((actions (cdr change))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
420 (file (car change)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
421 (unless (memq :wrote actions)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
422 (insert author " (changed) " file "\n"))))))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
423
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
424
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
425 (defun authors (root)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
426 "Extract author information from change logs and Lisp source files.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
427 ROOT is the root directory under which to find the files. If called
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
428 interactively, ROOT is read from the minibuffer. Result is a
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
429 buffer *Authors* containing authorship information."
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
430 (interactive "DEmacs source directory: ")
36010
c486995553f8 (authors): Expand `root' before running
Dave Love <fx@gnu.org>
parents: 33752
diff changeset
431 (setq root (expand-file-name root))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
432 (let ((logs (authors-process-lines "find" root "-name" "ChangeLog*"))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
433 (table (make-hash-table :test 'equal))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
434 (buffer-name "*Authors*"))
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
435 (authors-add-fixed-entries table)
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
436 (unless (file-exists-p (expand-file-name "src/emacs.c" root))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
437 (error "Not the root directory of Emacs: %s" root))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
438 (dolist (log logs)
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
439 (when (and (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
440 (not (string-match "/lispref/" log)))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
441 (message "Scanning %s..." log)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
442 (authors-scan-change-log log table)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
443 (let ((els (authors-process-lines "find" root "-name" "*.el")))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
444 (dolist (file els)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
445 (message "Scanning %s..." file)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
446 (authors-scan-el file table)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
447 (set-buffer (get-buffer-create buffer-name))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
448 (erase-buffer)
32832
1ce7dce8710b (authors-aliases): Add some more aliases.
Gerd Moellmann <gerd@gnu.org>
parents: 32529
diff changeset
449 (set-buffer-file-coding-system 'iso-2022-7bit)
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
450 (maphash #'authors-print table)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
451 (sort-lines nil (point-min) (point-max))
32832
1ce7dce8710b (authors-aliases): Add some more aliases.
Gerd Moellmann <gerd@gnu.org>
parents: 32529
diff changeset
452 (insert "\nLocal" " Variables:\ncoding: iso-2022-7bit\nEnd:\n")
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
453 (unless noninteractive
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
454 (pop-to-buffer buffer-name))))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
455
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
456
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
457 (defun batch-update-authors ()
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
458 "Produce an AUTHORS file.
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
459 Call this function in batch mode with two command line arguments FILE
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
460 and ROOT. FILE is the file to write, ROOT is the root directory of
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
461 the Emacs source tree, from which to build the file."
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
462 (unless noninteractive
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
463 (error "`batch-update-authors' is to be used only with -batch"))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
464 (when (/= (length command-line-args-left) 2)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
465 (error "Call `batch-update-authors' with the name of the file to write"))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
466 (let* ((file (pop command-line-args-left))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
467 (root (pop command-line-args-left)))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
468 (authors root)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
469 (write-file file)))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
470
38412
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 36010
diff changeset
471 ;;; authors.el ends here