annotate lisp/emacs-lisp/authors.el @ 89657:899286e38bef

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Mon, 24 Nov 2003 08:28:58 +0000
parents 375f2633d815
children 68c22ea6027c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49469
edde976160fb Added Jan D in alias
Jan Djärv <jan.h.d@swipnet.se>
parents: 46997
diff changeset
1 ;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: iso-2022-7bit;-*-
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
2
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
3 ;; Copyright (C) 2000, 2003 Free Software Foundation, Inc.
30790
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>
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
6 ;; Maintainer: Kim F. Storm <storm@cua.dk>
33752
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
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
33 (defvar authors-coding-system 'iso-2022-7bit
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
34 "Coding system used in the AUTHORS file.")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
35
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
36 (defconst authors-many-files 20
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
37 "Maximum number of files for which to print individual information.
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
38 If an author has modified more files, only the names of the most
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
39 frequently modified files are printed and a count of the additional
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
40 files.")
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
41
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
42 (defconst authors-aliases
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
43 '(
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
44 ("Andrew Innes" "Andrw Innes")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
45 ("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc."
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
46 "Barry A. Warsaw, ITB" "Barry Warsaw")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
47 ("Bj,Av(Brn Torkelsson" "Bjorn Torkelsson")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
48 ("Brian Fox" "Brian J. Fox")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
49 ("Christoph Wedler" "Christoph.Wedler@sap.com")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
50 ("Daniel Pfeiffer" "<Daniel.Pfeiffer@Informatik.START.db.de>"
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
51 "<Daniel.Pfeiffer@Informatik.START.dbp.de>")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
52 ("David Gillespie" "Dave Gillespie")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
53 ("David K,Ae(Bgedal" "David K..edal")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
54 ("David M. Koppelman" "David M. Koppelman, Koppel@Ee.Lsu.Edu")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
55 ("David M. Smith" "David Smith")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
56 ("Edward M. Reingold" "Ed Reingold" "Edward M Reingold"
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
57 "Reingold Edward M")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
58 ("Eli Zaretskii" "eliz")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
59 ("Eric M. Ludlam" "Eric Ludlam")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
60 ("Eric S. Raymond" "Eric Raymond")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
61 ("Eric Youngdale" "(Eric Youngdale at youngdale@v6550c.nrl.navy.mil)")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
62 ("Fran,Ag(Bois Pinard" "Francois Pinard")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
63 ("Francesco Potorti" "Francesco Potorti`")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
64 ("Frederic Pierresteguy" "Fred Pierresteguy")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
65 ("Geoff Voelker" "voelker")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
66 ("Hallvard B. Furuseth" "Hallvard B Furuseth")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
67 (nil "(afs@hplb.hpl.hp.com)")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
68 (nil "<Use-Author-Address-Header@\\[127.1\\]>")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
69 (nil "Code Extracted")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
70 (nil "Fsf")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
71 (nil "ISO-2022-JP")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
72 ("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
73 ("Jan Dj,Ad(Brv" "Jan D." "Jan Djarv")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
74 ("Jay K. Adams" "jka@ece.cmu.edu")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
75 ("Jay R. Adams" "Jay Adams")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
76 ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
77 ("Jonathan I. Kamens" "Jonathan Kamens")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
78 ("Joseph Arceneaux" "Joe Arceneaux")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
79 ("K. Shane Hartman" "Shane Hartman")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
80 ("Kai Gro,A_(Bjohann" "Kai Grossjohann" "Kai Gro,b_(Bjohann"
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
81 "Kai.Grossjohann@Cs.Uni-Dortmund.De")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
82 ("Karl Berry" "K. Berry")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
83 ("Ken Manheimer" "Kenneth Manheimer")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
84 ("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
85 ("Kim F. Storm" "Kim Storm")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
86 ("Marcus G. Daniels" "Marcus Daniels")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
87 ("Michael D. Ernst" "Michael Ernst")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
88 ("Michael I. Bushnell" "Michael I Bushnell" "Michael I. Bushnell, P/Bsg")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
89 ("Paul Eggert" "eggert")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
90 ("Paul Reilly" "(pmr@legacy.pajato.com)")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
91 ("Pavel Jan,Bm(Bk" "Pavel Jan,Am(Bk Ml.")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
92 ("Per Abrahamsen" "Per Abhiddenware")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
93 ("Peter S. Galbraith" "Peter S Galbraith")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
94 ("Richard M. Stallman" "Richard M. Stallman,,," "Richard Stallman"
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49506
diff changeset
95 "rms" "rms@gnu.org")
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
96 ("Robert J. Chassell" "Bob Chassell")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
97 ("Roland B. Roberts" "Roland B Roberts" "Roland Roberts")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
98 ("Rui-Tao Dong" "Rui-Tao Dong ~{6-Hpln~}")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
99 ("Sam Steingold" "Sam Shteingold")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
100 ("Stephen A. Wood" "(saw@cebaf.gov)")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
101 ("Steven L. Baur" "SL Baur" "Steven L Baur")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
102 ("Takaaki Ota" "Tak Ota")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
103 ("Torbj,Av(Brn Axelsson" "Torbjvrn Axelsson")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
104 ("Torbj,Av(Brn Einarsson" "Torbj.*rn Einarsson")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
105 ("Toru Tomabechi" "Toru Tomabechi,")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
106 ("Vincent Del Vecchio" "Vince Del Vecchio")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
107 ("Wlodzimierz Bzyl" "W.*dek Bzyl")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
108 ("Yutaka NIIBE" "NIIBE Yutaka")
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
109 )
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
110 "Alist of author aliases.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
111
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
112 Each entry is of the form (REALNAME REGEXP...). If an author's name
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49506
diff changeset
113 matches one of the REGEXPs, use REALNAME instead.
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
114 If REALNAME is nil, ignore that author.")
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
115
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
116
33151
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
117 (defvar authors-public-domain-files
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
118 '("auto-show\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
119 "form-d2\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
120 "emerge\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
121 "unused\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
122 "vi\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
123 "feedmail\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
124 "mailpost\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
125 "hanoi\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
126 "meese\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
127 "studly\\.el"
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
128 "modula2\\.el")
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
129 "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
130
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
131
32028
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
132 (defvar authors-obsolete-files-regexps
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
133 '("vc-\\*\\.el$"
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
134 "spec.txt$"
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
135 "vc-\\(rcs\\|cvs\\|sccs\\)-hooks\\.el$")
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
136 "List of regexps matching obsolete files.
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
137 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
138 listed.")
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
139
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
140
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
141 (defconst authors-fixed-entries
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
142 '(("Richard M. Stallman" :wrote "[The original GNU emacs and numerous files]")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
143 ("Joseph Arceneaux" :wrote "xrdb.c")
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
144 ("Blitz Product Development Corporation" :wrote "ispell.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
145 ("Frank Bresz" :wrote "diff.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
146 ("David M. Brown" :wrote "array.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
147 ("Gary Byers" :changed "xenix.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
148 ("Shawn M. Carey" :wrote "freebsd.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
149 ("Eric Decker" :changed "hp9000s800.h" "hpux.h" "sysdep.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
150 ("Lawrence R. Dodd" :wrote "dired-x.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
151 ("Viktor Dukhovni" :wrote "unexsunos4.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
152 ("Paul Eggert" :wrote "rcs2log" "vcdiff")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
153 ("Fred Fish" :changed "unexec.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
154 ("Tim Fleehart" :wrote "makefile.nt")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
155 ("Keith Gabryelski" :wrote "hexl.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
156 ("Kevin Gallagher" :wrote "flow-ctrl.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
157 ("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
158 ("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
159 ("David Gillespie" :wrote "cl.texinfo")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
160 ("Hewlett-Packard" :changed "emacsclient.c" "emacsserver.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
161 "server.el" "keyboard.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
162 ("Thomas Horsley" :wrote "cxux.h" "cxux7.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
163 ("Indiana University Foundation" :changed "buffer.c" "buffer.h"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
164 "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
165 ("International Business Machines" :changed "emacs.c" "fileio.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
166 "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
167 ("Ishikawa Chiaki" :changed "aviion.h" "dgux.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
168 ("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
169 "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
170 "ymakefile" "linux.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
171 ("Kyle E. Jones" :wrote "mldrag.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
172 ("Kenry Kautz" :wrote "bib-mode.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
173 ("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
174 "uaf.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
175 ("Sam Kendall" :changed "etags.c" "etags.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
176 ("Richard King" :wrote "backquote.el" "userlock.el" "filelock.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
177 ("Larry Kolodney" :wrote "cvtmail.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
178 ("Sebastian Kremer" :changed "add-log.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
179 ("Mark Lambert" :changed "process.c" "process.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
180 ("Aaron Larson" :changed "bibtex.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
181 ("James R. Larus" :wrote "mh-e.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
182 ("Lars Lindberg" :changed "dabbrev.el" :wrote "imenu.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
183 ("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
184 "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
185 "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
186 "xselect.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
187 ("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
188 "rmail.el" "rmailedit.el" "rmailkwd.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
189 "rmailmsc.el" "rmailout.el" "rmailsum.el" "scribe.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
190 "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
191 ("Niall Mansfield" :changed "etags.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
192 ("Brian Marick" :wrote "hideif.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
193 ("Marko Kohtala" :changed "info.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
194 ("Sidney Markowitz" :changed "doctor.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
195 ("Richard Mlynarik" :wrote "env.c" "ehelp.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
196 ("Mosur Mohan" :changed "etags.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
197 ("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
198 "vt220.el" "vt240.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
199 ("Motorola" :changed "buff-menu.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
200 ("Hiroshi Nakano" :changed "ralloc.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
201 ("Sundar Narasimhan" :changed "rnewspost.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
202 ("NeXT, Inc." :wrote "unexnext.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
203 ("Mark Neale" :changed "fortran.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
204 ("Martin Neitzel" :changed "sc.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
205 ("Andrew Oram" :changed "miscellaneous changes to files in man/"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
206 "man/calendar.texi")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
207 ("Frederic Pierresteguy" :wrote "widget.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
208 ("Michael D. Prange" :changed "tex-mode.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
209 ("Paul Reilly" :wrote "gux5-4r2.h" "dgux5-4r3.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
210 ("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
211 "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
212 "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
213 :wrote "logout.com" "mailemacs.com")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
214 ("Guillermo J. Rozas" :wrote "fakemail.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
215 ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
216 "sort.el" "alloc.c" "callint.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
217 "config.h.in" "crt0.c" "data.c" "fns.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
218 "lisp.h" "lread.c" "sun3.h"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
219 "print.c" "ymakefile" :wrote "float-sup.el" "floatfns.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
220 ("Schlumberger Technology Corporation" :changed "gud.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
221 ("Gregor Schmid" :wrote "tcl-mode.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
222 ("Rainer Schoepf" :wrote "alpha.h" "unexalpha.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
223 ("William Sommerfeld" :wrote "emacsclient.c" "emacsserver.c" "scribe.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
224 ("Leigh Stoller" :changed "emacsclient.c" "emacsserver.c" "server.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
225 ("Steve Strassman" :wrote "spook.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
226 ("Shinichirou Sugou" :changed "etags.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
227 ("Sun Microsystems, Inc" :changed "emacsclient.c" "emacsserver.c"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
228 "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
229 "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
230 ("Kayvan Sylvan" :changed "sc.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
231 ("Spencer Thomas" :changed "emacsclient.c" "emacsserver.c" "server.el"
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
232 "dabbrev.el" "unexec.c" "tcp.c" "gnus.texi")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
233 ("Jonathan Vail" :changed "vc.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
234 ("James Van Artsdalen" :changed "usg5-4.h" "unexec.c")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
235 ("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
236 "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
237 "ntproc.c" "ntterm.c" "windowsnt.h")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
238 ("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
239 ("Pace Willisson" :wrote "ispell.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
240 ("Garrett Wollman" :changed "sendmail.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
241 ("Dale Worley" :changed "mail-extr.el")
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
242 ("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
243 "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
244
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
245
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
246 (defconst authors-valid-file-names
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
247 '("aclocal.m4"
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
248 "makedist.bat")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
249 "File names which are valid, but no longer exists (or cannot be
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
250 found) in the repository.")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
251
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
252 (defconst authors-renamed-files-alist
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
253 '(("nt.c" . "w32.c") ("nt.h" . "w32.h")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
254 ("ntheap.c" . "w32heap.c") ("ntheap.h" . "w32heap.h")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
255 ("ntinevt.c" . "w32inevt.c") ("ntinevt.h" . "w32inevt.h")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
256 ("ntproc.c" . "w32proc.c")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
257 ("w32console.c" . "w32term.c")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
258 ("unexnt.c" . "unexw32.c")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
259 ("s/windowsnt.h" . "s/ms-w32.h")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
260 ("config.emacs" . "configure")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
261 ("GETTING.GNU.SOFTWARE" . "FTP")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
262 )
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
263 "Alist of files which have been renamed during their lifetime.
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
264 Elements are (OLDNAME . NEWNAME).")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
265
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
266 (defconst authors-renamed-files-regexps
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
267 '(("^m/m-\\(.*\\.h\\)$" . "m/\\1")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
268 ("^m-\\(.*\\.h\\)$" . "\\1")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
269 ("^s/s-\\(.*\\.h\\)$" . "s/\\1")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
270 ("^s-\\(.*\\.h\\)$" . "\\1")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
271 ("^s/[-.a-zA-Z0-9_]+\\.h$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
272 ("\\(.*\\)\\.cmd$" . "\\1.bat")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
273 ("\\.bat$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
274 ("\\.[ch]$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
275 ("\\.el$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
276 ("\\.ps$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
277 ("\\.texi?$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
278 ("\\.texinfo$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
279 ("\\.xml?$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
280 ("\\.x[pb]m$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
281 ("\\.[xp]bm$" . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
282 ("^paths\\." . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
283 ("^install\\." . t)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
284 )
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
285 "List regexps and rewriting rules for renamed files.
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
286 Elements are (REGEXP . REPLACE). If REPLACE is a string, the file
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
287 name matching REGEXP is replaced by REPLACE using `replace-string'.
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
288 Otherwise, the file name is accepted as is.")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
289
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
290 (defvar authors-checked-files-alist)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
291 (defvar authors-invalid-file-names)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
292
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
293 (defun authors-canonical-file-name (file log-file pos author)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
294 "Return canonical file name for FILE found in LOG-FILE at POS for AUTHOR.
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
295 Checks whether FILE is a valid (existing) file name, has been renamed,
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
296 or is on the list of removed files. Returns the non-diretory part of
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
297 the file name."
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
298 (let ((entry (assoc file authors-checked-files-alist))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
299 relname
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
300 valid)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
301 (if entry
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
302 (cdr entry)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
303 (setq relname (file-name-nondirectory file))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
304 (if (or (member relname authors-valid-file-names)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
305 (file-exists-p file)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
306 (file-exists-p relname)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
307 (file-exists-p (concat "etc/" relname)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
308 (setq valid relname)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
309 (setq valid (assoc file authors-renamed-files-alist))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
310 (if valid
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
311 (setq valid (cdr valid))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
312 (let ((rules authors-renamed-files-regexps))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
313 (while rules
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
314 (if (string-match (car (car rules)) file)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
315 (setq valid (if (stringp (cdr (car rules)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
316 (file-name-nondirectory
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
317 (replace-match (cdr (car rules)) t nil file))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
318 relname)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
319 rules nil))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
320 (setq rules (cdr rules))))))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
321 (setq authors-checked-files-alist
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
322 (cons (cons file valid) authors-checked-files-alist))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
323 (unless valid
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49506
diff changeset
324 (setq authors-invalid-file-names
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
325 (cons (format "%s:%d: unrecognized `%s' for %s"
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
326 log-file
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
327 (1+ (count-lines (point-min) pos))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
328 file author)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
329 authors-invalid-file-names)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
330 valid)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
331
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
332 (defun authors-add-fixed-entries (table)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
333 "Add actions from `authors-fixed-entries' to TABLE."
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
334 (dolist (entry authors-fixed-entries)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
335 (let ((author (car entry))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
336 action)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
337 (dolist (item (cdr entry))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
338 (if (symbolp item)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
339 (setq action item)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
340 (authors-add author item action table))))))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
341
46290
0cd79941b83a (authors-obsolete-file-p): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 41967
diff changeset
342
32028
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
343 (defun authors-obsolete-file-p (file)
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
344 "Return non-nil if FILE is obsolete.
46290
0cd79941b83a (authors-obsolete-file-p): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 41967
diff changeset
345 FILE is considered obsolete if it matches one of the regular expressions
32028
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
346 from `authors-obsolete-files-regexps'."
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
347 (let (obsolete-p
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
348 (regexps authors-obsolete-files-regexps))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
349 (while (and regexps (not obsolete-p))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
350 (setq obsolete-p (string-match (car regexps) file)
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
351 regexps (cdr regexps)))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
352 obsolete-p))
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
353
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
354
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
355 (defun authors-add (author file action table)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
356 "Record that AUTHOR worked on FILE.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
357 ACTION is a keyword symbol describing what he did. Record file,
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
358 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
359 `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
360 (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
361 (equal author ""))
32028
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
362 (let* ((value (gethash author table))
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
363 (entry (assoc file value))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
364 slot)
32028
1bb0e9c9c64d (authors-obsolete-file-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32005
diff changeset
365 (if (null entry)
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
366 (puthash author (cons (list file (cons action 1)) value) table)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
367 (if (setq slot (assoc action (cdr entry)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
368 (setcdr slot (1+ (cdr slot)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
369 (nconc entry (list (cons action 1))))))))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
370
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
371
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
372 (defun authors-process-lines (program &rest args)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
373 "Execute PROGRAM with ARGS, returning its output as a list of lines.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
374 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
375 (with-temp-buffer
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
376 (let ((status (apply 'call-process program nil (current-buffer) nil args)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
377 (unless (eq status 0)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
378 (error "%s exited with status %s" program status))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
379 (goto-char (point-min))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
380 (let (lines)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
381 (while (not (eobp))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
382 (setq lines (cons (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
383 (line-beginning-position)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
384 (line-end-position))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
385 lines))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
386 (forward-line 1))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
387 (nreverse lines)))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
388
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
389
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
390 (defun authors-canonical-author-name (author)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
391 "Return a canonicalized form of AUTHOR, an author name.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
392 If AUTHOR has an alias, use that. Remove email addresses. Capitalize
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
393 words in the author's name."
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
394 (let* ((aliases authors-aliases)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
395 regexps realname)
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
396 (while aliases
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
397 (setq realname (car (car aliases))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
398 regexps (cdr (car aliases))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
399 aliases (cdr aliases))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
400 (while regexps
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
401 (if (string-match (car regexps) author)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
402 (setq author realname
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
403 regexps nil
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
404 aliases nil)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
405 (setq regexps (cdr regexps))))))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
406 (when author
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
407 (setq author (replace-regexp-in-string "[ \t]*[(<].*$" "" author))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
408 (setq author (replace-regexp-in-string "^[ \t]+" "" author))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
409 (setq author (replace-regexp-in-string "[ \t]+$" "" author))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
410 (capitalize author)))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
411
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
412
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
413 (defun authors-scan-change-log (log-file table)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
414 "Scan change log LOG-FILE for author information.
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
415
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
416 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
417 under the author's canonical name.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
418
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
419 Keys of TABLE are author names. Values are alists of entries (FILE
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
420 \(ACTION . COUNT) ...). FILE is one file the author worked on. The
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
421 rest of the entry is a list of keyword symbols describing what he did
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
422 with the file and the number of each action.
30790
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 :wrote means the author wrote the file
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
425 :changed means he changed the file COUNT times."
46290
0cd79941b83a (authors-obsolete-file-p): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 41967
diff changeset
426
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
427 (let* ((enable-local-variables t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
428 (enable-local-eval t)
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
429 (existing-buffer (get-file-buffer log-file))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
430 (buffer (find-file-noselect log-file))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
431 author file pos)
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
432 (save-excursion
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
433 (set-buffer buffer)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
434 (save-restriction
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
435 (widen)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
436 (goto-char (point-min))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
437 (while (re-search-forward "^[0-9]\\|^[ \t]+\\* " nil t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
438 (beginning-of-line)
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
439 (setq pos (point))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
440 (cond ((looking-at "^[0-9]+-[0-9]+-[0-9]+")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
441 (skip-chars-forward " \t+:0-9-")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
442 (setq author (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
443 (point) (line-end-position)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
444 (setq author (authors-canonical-author-name author))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
445 (forward-line 1))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
446 ((looking-at "^[ \t]+\\*")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
447 (let ((line (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
448 (match-end 0) (line-end-position))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
449 (while (and (not (string-match ":" line))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
450 (forward-line 1)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
451 (not (looking-at ":\\|^[ \t]*$")))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
452 (setq line (concat line
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
453 (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
454 (line-beginning-position)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
455 (line-end-position)))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
456 (when (string-match ":" line)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
457 (setq line (substring line 0 (match-beginning 0)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
458 (setq line (replace-regexp-in-string "[[(<{].*$" "" line))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
459 (setq line (replace-regexp-in-string "," "" line))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
460 (dolist (file (split-string line))
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
461 (when (setq file (authors-canonical-file-name file log-file pos author))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
462 ;;(message "%s changed %s" author file)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
463 (authors-add author file :changed table))))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
464 (forward-line 1)))))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
465 (unless existing-buffer
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
466 (kill-buffer buffer))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
467
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
468
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
469 (defun authors-scan-el (file table)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
470 "Scan Lisp file FILE for author information.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
471 TABLE is a hash table to add author information to."
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
472 (let* ((existing-buffer (get-file-buffer file))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
473 (enable-local-variables t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
474 (enable-local-eval t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
475 (buffer (find-file-noselect file)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
476 (save-excursion
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
477 (set-buffer buffer)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
478 (save-restriction
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
479 (widen)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
480 (goto-char (point-min))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
481 (while (and (re-search-forward
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
482 "^;+[ \t]*\\(Author\\|Commentary\\):[ \t]*" nil t)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
483 (not (string= (match-string 1) "Commentary")))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
484 ;; Some entries contain a year range in front of the
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
485 ;; author's name.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
486 (skip-chars-forward "-0-9 \t")
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
487 (let ((author (buffer-substring-no-properties
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
488 (point) (line-end-position))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
489 (setq author (authors-canonical-author-name author))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
490 (setq file (file-name-nondirectory file))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
491 (authors-add author file :wrote table)))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
492 (unless existing-buffer
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
493 (kill-buffer buffer))))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
494
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
495
33151
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
496 (defun authors-public-domain-p (file)
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
497 "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
498 (let ((public-domain-p nil)
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
499 (list authors-public-domain-files))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
500 (while (and list (not public-domain-p))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
501 (when (string-match (car list) file)
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
502 (setq public-domain-p t))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
503 (setq list (cdr list)))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
504 public-domain-p))
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
505
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
506 (defvar authors-author-list)
33151
452df6342ae5 (authors-public-domain-files): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32885
diff changeset
507
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
508 (defun authors-add-to-author-list (author changes)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
509 "Insert information about AUTHOR's work on Emacs into `authors-author-list'.
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
510 CHANGES is an alist of entries (FILE (ACTION . COUNT) ...), as produced by
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
511 `authors-scan-change-log'.
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
512 The element added to `authors-author-list' is (AUTHOR WROTE CHANGED), where
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49506
diff changeset
513 WROTE and CHANGED are lists of the files written and changed by AUTHOR."
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
514 (when author
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
515 (let ((nchanged 0)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
516 wrote-list
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
517 changed-list)
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
518 (dolist (change changes)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
519 (let ((actions (cdr change))
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
520 (file (car change))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
521 slot)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
522 (if (assq :wrote actions)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
523 (setq wrote-list
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
524 (cons
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
525 (if (authors-public-domain-p file)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
526 (concat file " (public domain)")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
527 file)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
528 wrote-list))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
529 (setq changed-list
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
530 (cons (cons file (cdr (assq :changed actions)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
531 changed-list)))))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
532 (if wrote-list
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
533 (setq wrote-list (sort wrote-list 'string-lessp)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
534 (when changed-list
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
535 (setq changed-list (sort changed-list
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
536 (lambda (a b)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
537 (if (= (cdr a) (cdr b))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
538 (string-lessp (car a) (car b))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
539 (> (cdr a) (cdr b))))))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
540 (setq nchanged (length changed-list))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
541 (setq changed-list (mapcar 'car changed-list)))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
542 (if (> (- nchanged authors-many-files) 2)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
543 (setcdr (nthcdr authors-many-files changed-list)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
544 (list (format "and %d other files" (- nchanged authors-many-files)))))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
545 (setq authors-author-list
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
546 (cons (list author wrote-list changed-list)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
547 authors-author-list)))))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
548
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
549 (defun authors (root)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
550 "Extract author information from change logs and Lisp source files.
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
551 ROOT is the root directory under which to find the files. If called
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49506
diff changeset
552 interactively, ROOT is read from the minibuffer.
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
553 Result is a buffer *Authors* containing authorship information, and a
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
554 buffer *Authors Errors* containing references to unknown files."
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
555 (interactive "DEmacs source directory: ")
36010
c486995553f8 (authors): Expand `root' before running
Dave Love <fx@gnu.org>
parents: 33752
diff changeset
556 (setq root (expand-file-name root))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
557 (let ((logs (authors-process-lines "find" root "-name" "ChangeLog*"))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
558 (table (make-hash-table :test 'equal))
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
559 (buffer-name "*Authors*")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
560 authors-checked-files-alist
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
561 authors-invalid-file-names)
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
562 (authors-add-fixed-entries table)
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
563 (unless (file-exists-p (expand-file-name "src/emacs.c" root))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
564 (error "Not the root directory of Emacs: %s" root))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
565 (dolist (log logs)
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
566 (when (and (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
567 (not (string-match "/lispref/" log)))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
568 (message "Scanning %s..." log)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
569 (authors-scan-change-log log table)))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
570 (let ((els (authors-process-lines "find" root "-name" "*.el")))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
571 (dolist (file els)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
572 (message "Scanning %s..." file)
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
573 (authors-scan-el file table)))
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
574 (message "Generating buffer %s..." buffer-name)
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
575 (set-buffer (get-buffer-create buffer-name))
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
576 (erase-buffer)
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
577 (set-buffer-file-coding-system authors-coding-system)
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49506
diff changeset
578 (insert
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
579 "Many people have contributed code included in the Free Software
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
580 Foundation's distribution of GNU Emacs. To show our appreciation for
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
581 their public spirit, we list here in alphabetical order a condensed
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
582 list of their contributions.\n")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
583 (let (authors-author-list a)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
584 (maphash #'authors-add-to-author-list table)
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49506
diff changeset
585 (setq authors-author-list
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
586 (sort authors-author-list
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
587 (lambda (a b) (string-lessp (car a) (car b)))))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
588 (dolist (a authors-author-list)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
589 (let ((author (car a))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
590 (wrote (nth 1 a))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
591 (changed (nth 2 a))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
592 file)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
593 (insert "\n" author ": ")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
594 (when wrote
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
595 (insert "wrote")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
596 (dolist (file wrote)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
597 (if (> (+ (current-column) (length file)) 72)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
598 (insert "\n "))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
599 (insert " " file))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
600 (insert "\n"))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
601 (when changed
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
602 (if wrote
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
603 (insert "and "))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
604 (insert "changed")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
605 (dolist (file changed)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
606 (if (> (+ (current-column) (length file)) 72)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
607 (insert "\n "))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
608 (insert " " file))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
609 (insert "\n")))))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49506
diff changeset
610 (insert "\nLocal" " Variables:\ncoding: "
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
611 (symbol-name authors-coding-system) "\nEnd:\n")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
612 (message "Generating buffer %s... done" buffer-name)
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
613 (unless noninteractive
49506
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
614 (when authors-invalid-file-names
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
615 (with-current-buffer (get-buffer-create "*Authors Errors*")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
616 (erase-buffer)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
617 (set-buffer-file-coding-system authors-coding-system)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
618 (insert "Unrecognized file entries found:\n\n")
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
619 (mapcar (lambda (f) (if (not (string-match "^[A-Za-z]+$" f)) (insert f "\n")))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
620 (sort authors-invalid-file-names 'string-lessp))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
621 (goto-char (point-min))
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
622 (compilation-mode)
ac9e2eeeb03d New format of AUTHORS file; list each
Kim F. Storm <storm@cua.dk>
parents: 49469
diff changeset
623 (message "Errors were found. See buffer %s" (buffer-name))))
32885
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
624 (pop-to-buffer buffer-name))))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
625
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
626
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
627 (defun batch-update-authors ()
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
628 "Produce an AUTHORS file.
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
629 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
630 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
631 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
632 (unless noninteractive
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
633 (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
634 (when (/= (length command-line-args-left) 2)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
635 (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
636 (let* ((file (pop command-line-args-left))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
637 (root (pop command-line-args-left)))
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
638 (authors root)
c5fc43371c70 (batch-update-authors): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 32832
diff changeset
639 (write-file file)))
30790
fa166d86d278 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
640
38412
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 36010
diff changeset
641 ;;; authors.el ends here