-;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: iso-2022-7bit;-*-
+;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: utf-8;-*-
;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005,
-;; 2006, 2007 Free Software Foundation, Inc.
+;; 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: Gerd Moellmann <gerd@gnu.org>
;; Maintainer: Kim F. Storm <storm@cua.dk>
;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;; Code:
-(defvar authors-coding-system 'iso-2022-7bit
+(defvar authors-coding-system 'utf-8
"Coding system used in the AUTHORS file.")
(defconst authors-many-files 20
("Anna M. Bigatti" "Anna Bigatti")
("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc."
"Barry A. Warsaw, ITB" "Barry Warsaw")
- ("Bj\e,Av\e(Brn Torkelsson" "Bjorn Torkelsson")
+ ("Björn Torkelsson" "Bjorn Torkelsson")
("Brian Fox" "Brian J. Fox")
("Christoph Wedler" "Christoph.Wedler@sap.com")
("Daniel Pfeiffer" "<Daniel.Pfeiffer@Informatik.START.db.de>"
"<Daniel.Pfeiffer@Informatik.START.dbp.de>")
("David Gillespie" "Dave Gillespie")
- ("David K\e,Ae\e(Bgedal" "David K..edal")
+ ("David Kågedal" "David K..edal")
("David M. Koppelman" "David M. Koppelman, Koppel@Ee.Lsu.Edu"
"David Koppelman")
("David M. Smith" "David Smith" "David M Smith")
("Eric S. Raymond" "Eric Raymond")
("Eric Youngdale" "(Eric Youngdale at youngdale@v6550c.nrl.navy.mil)")
("Francis J. Wright" "Dr Francis J. Wright" "Francis Wright")
- ("Fran\e,Ag\e(Bois Pinard" "Francois Pinard")
- ("Francesco Potort\e,Al\e(B" "Francesco Potorti" "Francesco Potorti`")
+ ("François Pinard" "Francois Pinard")
+ ("Francesco Potortì" "Francesco Potorti" "Francesco Potorti`")
("Frederic Pierresteguy" "Fred Pierresteguy")
("Geoff Voelker" "voelker")
- ("Gerd M\e,Av\e(Bllmann" "Gerd Moellmann")
+ ("Gerd Möllmann" "Gerd Moellmann")
("Hallvard B. Furuseth" "Hallvard B Furuseth")
- ("Hrvoje Nik\e,B9\e(Bi\e,Bf\e(B" "Hrvoje Niksic")
+ ("Hrvoje Nikšić" "Hrvoje Niksic")
(nil "(afs@hplb.hpl.hp.com)")
(nil "<Use-Author-Address-Header@\\[127.1\\]>")
(nil "Code Extracted")
(nil "\\`FSF")
(nil "ISO-2022-JP")
("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn")
- ("Jan Dj\e,Ad\e(Brv" "Jan D." "Jan Djarv")
+ ("Jan Djärv" "Jan D." "Jan Djarv")
("Jay K. Adams" "jka@ece.cmu.edu" "Jay Adams")
- ("J\e,Ai\e(Br\e,At\e(Bme Marant" "J\e,bi\e(Br\e,bt\e(Bme Marant" "Jerome Marant")
+ ("Jérôme Marant" "Jérôme Marant" "Jerome Marant")
("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard")
- ("Johan Bockg\e,Ae\e(Brd" "Johan Bockgard")
+ ("Johan Bockgård" "Johan Bockgard")
("John W. Eaton" "John Eaton")
("Jonathan I. Kamens" "Jonathan Kamens")
("Joseph Arceneaux" "Joe Arceneaux")
- ("Juan Le\e,As\e(Bn Lahoz Garc\e,Am\e(Ba" "Juan-Leon Lahoz Garcia")
+ ("Juan León Lahoz García" "Juan-Leon Lahoz Garcia")
("K. Shane Hartman" "Shane Hartman")
- ("Kai Gro\e,A_\e(Bjohann" "Kai Grossjohann" "Kai Gro\e,b_\e(Bjohann"
+ ("Kai Großjohann" "Kai Grossjohann" "Kai Großjohann"
"Kai.Grossjohann@Cs.Uni-Dortmund.De"
"Kai.Grossjohann@Gmx.Net")
("Karl Berry" "K. Berry")
- ("K\e,Aa\e(Broly L\e$,1 q\e(Brentey" "K\e,Aa\e(Broly L\e,Bu\e(Brentey" "L\e$,1 q\e(Brentey K\e,Aa\e(Broly")
+ ("Károly Lőrentey" "Károly Lőrentey" "Lőrentey Károly")
("Kazushi Marukawa" "Kazushi")
("Ken Manheimer" "Kenneth Manheimer")
("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA")
("Kyle Jones" "Kyle E. Jones")
("Marcus G. Daniels" "Marcus Daniels")
("Mark D. Baushke" "Mark D Baushke")
- ("Agust\e,Am\e(Bn Mart\e,Am\e(Bn" "Agustin Martin")
+ ("Agustín Martín" "Agustin Martin")
("Martin Lorentzon" "Martin Lorentzson")
("Matt Swift" "Matthew Swift")
("Michael R. Mauger" "Michael Mauger")
("Michael D. Ernst" "Michael Ernst")
- ("Micha\e,Ak\e(Bl Cadilhac" "Michael Cadilhac")
+ ("Michaël Cadilhac" "Michael Cadilhac")
("Michael I. Bushnell" "Michael I Bushnell" "Michael I. Bushnell, P/Bsg")
("Mikio Nakajima" "Nakajima Mikio")
("Paul Eggert" "eggert")
("Paul Reilly" "(pmr@legacy.pajato.com)")
- ("Pavel Jan\e,Bm\e(Bk" "Pavel Jan\e,Am\e(Bk Ml." "Pavel Jan\e,Am\e(Bk" "Pavel@Janik.Cz")
+ ("Pavel Janík" "Pavel Janík Ml." "Pavel Janík" "Pavel@Janik.Cz")
("Per Abrahamsen" "Per Abhiddenware")
("Peter S. Galbraith" "Peter Galbraith")
("Peter Runestig" "Peter 'luna' Runestig")
("Takaaki Ota" "Tak Ota")
("Takahashi Naoto" "Naoto Takahashi")
("Teodor Zlatanov" "Ted Zlatanov")
- ("Torbj\e,Av\e(Brn Axelsson" "Torbjvrn Axelsson")
- ("Torbj\e,Av\e(Brn Einarsson" "Torbj.*rn Einarsson")
+ ("Torbjörn Axelsson" "Torbjvrn Axelsson")
+ ("Torbjörn Einarsson" "Torbj.*rn Einarsson")
("Toru Tomabechi" "Toru Tomabechi,")
("Vincent Del Vecchio" "Vince Del Vecchio")
("William M. Perry" "Bill Perry")
("Geoff Voelker" :wrote "src/makefile.nt" "lisp/makefile.nt" "winnt.el"
"nt.c" "nt.h" "ntheap.c" "ntheap.h" "ntinevt.c"
"ntproc.c" "ntterm.c" "windowsnt.h")
- ("Morten Welinder" :wrote "dosfns.c" "[many MSDOS files]" "msdos.h")
+ ("Morten Welinder" :wrote "dosfns.c" "[many MS-DOS files]" "msdos.h")
("Pace Willisson" :wrote "ispell.el")
("Garrett Wollman" :changed "sendmail.el")
("Dale R. Worley" :changed "mail-extr.el")
(nconc entry (list (cons action 1))))))))
-(defun authors-process-lines (program &rest args)
- "Execute PROGRAM with ARGS, returning its output as a list of lines.
-Signal an error if the program returns with a non-zero exit status."
- (with-temp-buffer
- (let ((status (apply 'call-process program nil (current-buffer) nil args)))
- (unless (eq status 0)
- (error "%s exited with status %s" program status))
- (goto-char (point-min))
- (let (lines)
- (while (not (eobp))
- (setq lines (cons (buffer-substring-no-properties
- (line-beginning-position)
- (line-end-position))
- lines))
- (forward-line 1))
- (nreverse lines)))))
-
-
(defun authors-canonical-author-name (author)
"Return a canonicalized form of AUTHOR, an author name.
If AUTHOR has an alias, use that. Remove email addresses. Capitalize
:wrote means the author wrote the file
:changed means he changed the file COUNT times."
- (let* ((enable-local-variables t)
- (enable-local-eval t)
+ (let* ((enable-local-variables :safe)
+ (enable-local-eval nil)
(existing-buffer (get-file-buffer log-file))
(buffer (find-file-noselect log-file))
author file pos)
"Scan Lisp file FILE for author information.
TABLE is a hash table to add author information to."
(let* ((existing-buffer (get-file-buffer file))
- (enable-local-variables t)
- (enable-local-eval t)
+ (enable-local-variables :safe)
+ (enable-local-eval nil)
(buffer (find-file-noselect file)))
(save-excursion
(set-buffer buffer)
buffer *Authors Errors* containing references to unknown files."
(interactive "DEmacs source directory: ")
(setq root (expand-file-name root))
- (let ((logs (authors-process-lines "find" root "-name" "ChangeLog*"))
+ (let ((logs (process-lines find-program root "-name" "ChangeLog*"))
(table (make-hash-table :test 'equal))
(buffer-name "*Authors*")
authors-checked-files-alist
(when (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
(message "Scanning %s..." log)
(authors-scan-change-log log table)))
- (let ((els (authors-process-lines "find" root "-name" "*.el")))
+ (let ((els (process-lines find-program root "-name" "*.el")))
(dolist (file els)
(message "Scanning %s..." file)
(authors-scan-el file table)))
(erase-buffer)
(set-buffer-file-coding-system authors-coding-system)
(insert "Unrecognized file entries found:\n\n")
- (mapcar (lambda (f) (if (not (string-match "^[A-Za-z]+$" f)) (insert f "\n")))
- (sort authors-invalid-file-names 'string-lessp))
+ (mapc (lambda (f) (if (not (string-match "^[A-Za-z]+$" f)) (insert f "\n")))
+ (sort authors-invalid-file-names 'string-lessp))
(goto-char (point-min))
(compilation-mode)
(message "Errors were found. See buffer %s" (buffer-name))))
(provide 'authors)
-;;; arch-tag: 659d5900-5ff2-43b0-954c-a315cc1e4dc1
+;; arch-tag: 659d5900-5ff2-43b0-954c-a315cc1e4dc1
;;; authors.el ends here