* w32-fns.el (w32-shell-dos-semantics):
[bpt/emacs.git] / lisp / emacs-lisp / authors.el
index 0c08e74..8af755c 100644 (file)
@@ -1,7 +1,7 @@
-;;; 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>
@@ -9,10 +9,10 @@
 
 ;; 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 3, 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
@@ -20,9 +20,7 @@
 ;; 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:
 
@@ -31,7 +29,7 @@
 
 ;;; 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
@@ -46,13 +44,13 @@ files.")
     ("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")
@@ -66,35 +64,35 @@ files.")
     ("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")
@@ -103,17 +101,17 @@ files.")
     ("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")
@@ -132,8 +130,8 @@ files.")
     ("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")
@@ -275,7 +273,7 @@ Changes to files in this list are not listed.")
     ("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")
@@ -418,24 +416,6 @@ author and what he did in hash table TABLE.  See the description of
          (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
@@ -475,8 +455,8 @@ with the file and the number of each action.
 :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)
@@ -521,8 +501,8 @@ with the file and the number of each action.
   "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)
@@ -605,7 +585,7 @@ Result is a buffer *Authors* containing authorship information, and a
 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
@@ -617,7 +597,7 @@ buffer *Authors Errors* containing references to unknown files."
       (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)))
@@ -666,8 +646,8 @@ list of their contributions.\n")
          (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))))
@@ -690,5 +670,5 @@ the Emacs source tree, from which to build the file."
 
 (provide 'authors)
 
-;;; arch-tag: 659d5900-5ff2-43b0-954c-a315cc1e4dc1
+;; arch-tag: 659d5900-5ff2-43b0-954c-a315cc1e4dc1
 ;;; authors.el ends here