# HG changeset patch # User Glenn Morris # Date 1272075373 25200 # Node ID 5d8908130ff246462c9449618044a8cfdb958746 # Parent 7a80cd5e5722eca0b066ca0aba5bb33778d3f1d1 Minor authors.el updates. * emacs-lisp/authors.el (authors-obsolete-files-regexps): Ignore VCS-ignore files, and deleted nextstep preferences files. (authors-ignored-files): Ignore deleted cedet test files, and "*.el". (authors-ambiguous-files): New list. (authors-valid-file-names): Add some deleted files. (authors-renamed-files-alist): Add font-setting.el, edt-user.doc. (authors-disambiguate-file-name): New function. (Bug#5501) (authors-canonical-file-name): Doc fix. Don't warn about obsolete files. (authors-canonical-file-name, authors-scan-el): Use authors-disambiguate-file-name. diff -r 7a80cd5e5722 -r 5d8908130ff2 lisp/ChangeLog --- a/lisp/ChangeLog Fri Apr 23 15:28:10 2010 -0700 +++ b/lisp/ChangeLog Fri Apr 23 19:16:13 2010 -0700 @@ -1,3 +1,17 @@ +2010-04-24 Glenn Morris + + * emacs-lisp/authors.el (authors-obsolete-files-regexps): + Ignore VCS-ignore files, and deleted nextstep preferences files. + (authors-ignored-files): Ignore deleted cedet test files, and "*.el". + (authors-ambiguous-files): New list. + (authors-valid-file-names): Add some deleted files. + (authors-renamed-files-alist): Add font-setting.el, edt-user.doc. + (authors-disambiguate-file-name): New function. (Bug#5501) + (authors-canonical-file-name): Doc fix. + Don't warn about obsolete files. + (authors-canonical-file-name, authors-scan-el): + Use authors-disambiguate-file-name. + 2010-04-23 Stefan Monnier * emacs-lisp/bytecomp.el (byte-compile-set-default): New function. diff -r 7a80cd5e5722 -r 5d8908130ff2 lisp/emacs-lisp/authors.el --- a/lisp/emacs-lisp/authors.el Fri Apr 23 15:28:10 2010 -0700 +++ b/lisp/emacs-lisp/authors.el Fri Apr 23 19:16:13 2010 -0700 @@ -220,6 +220,9 @@ '("vc-\\*\\.el$" "spec.txt$" ".*loaddefs.el$" ; not obsolete, but auto-generated + "\\.\\(cvs\\|git\\)ignore$" ; obsolete or uninteresting + "\\.arch-inventory$" + "preferences\\.\\(nib\\|gorm\\)" "vc-\\(rcs\\|cvs\\|sccs\\)-hooks\\.el$") "List of regexps matching obsolete files. Changes to files matching one of the regexps in this list are not @@ -244,6 +247,14 @@ "Imakefile" "icons/sink.ico" "aixcc.lex" "nxml/char-name/unicode" "js2-mode.el" ; only installed very briefly, replaced by js.el + "cedet/tests/testtemplates.cpp" + "cedet/tests/testusing.cpp" + "cedet/tests/scopetest.cpp" + "cedet/tests/scopetest.java" + "cedet/tests/test.cpp" + "cedet/tests/test.py" + "cedet/tests/teststruct.cpp" + "*.el" ;; Autogen: "cus-load.el" "finder-inf.el" "ldefs-boot.el" ;; Never had any meaningful changes logged, now deleted: @@ -286,6 +297,42 @@ "List of files and directories to ignore. Changes to files in this list are not listed.") +;; List via: find . -name '*.el' | sed 's/.*\///g' | sort | uniq -d +;; FIXME It would be better to discover these dynamically. +;; Note that traditionally "Makefile.in" etc have not been in this list. +;; Ditto for "abbrev.texi" etc. +(defconst authors-ambiguous-files + '("chart.el" + "compile.el" + "complete.el" + "cpp.el" + "ctxt.el" + "debug.el" + "dired.el" + "el.el" + "files.el" + "find.el" + "format.el" + "grep.el" + "imenu.el" + "java.el" + "linux.el" + "locate.el" + "make.el" + "mode.el" + "python.el" + "semantic.el" + "shell.el" + "simple.el" + "sort.el" + "speedbar.el" + "srecode.el" + "table.el" + "texi.el" + "util.el" + "wisent.el") + "List of basenames occurring more than once in the source.") + ;; FIXME :cowrote entries here can be overwritten by :wrote entries ;; derived from a file's Author: header (eg mh-e). This really means ;; the Author: header is erroneous. @@ -464,11 +511,14 @@ "emacs16_mac.png" "emacs24_mac.png" "emacs256_mac.png" "emacs32_mac.png" "emacs48_mac.png" "emacs512_mac.png" + "revdiff" ; admin/ + "mainmake" "sed1.inp" "sed2.inp" "sed3.inp" ; msdos/ + "mac-fix-env.m" ;; Deleted vms stuff: "temacs.opt" "descrip.mms" "compile.com" "link.com" ) - "File names which are valid, but no longer exist (or cannot be -found) in the repository.") + "File names which are valid, but no longer exist (or cannot be found) +in the repository.") (defconst authors-renamed-files-alist '(("nt.c" . "w32.c") ("nt.h" . "w32.h") @@ -505,6 +555,7 @@ ;; index and pick merged into search. ("mh-index.el" . "mh-search.el") ("mh-pick.el" . "mh-search.el") + ("font-setting.el" . "dynamic-setting.el") ;; INSTALL-CVS -> .CVS -> .BZR ("INSTALL-CVS" . "INSTALL.BZR") ("INSTALL.CVS" . "INSTALL.BZR") @@ -530,6 +581,7 @@ ("schema/docbook-dyntbl.rnc" . "schema/docbk-dyntbl.rnc") ("schema/docbook-soextbl.rnc" . "schema/docbk-soextbl.rn" ) ("texi/url.txi" . "url.texi") + ("edt-user.doc" . "edt.texi") ;; Moved to different directories. ("ctags.1" . "ctags.1") ("etags.1" . "etags.1") @@ -574,10 +626,25 @@ (defvar authors-checked-files-alist) (defvar authors-invalid-file-names) +(defun authors-disambiguate-file-name (fullname) + "Convert FULLNAME to an unambiguous relative-name." + (let ((relname (file-name-nondirectory fullname)) + parent) + (if (member relname authors-ambiguous-files) + ;; In case of ambiguity, just prepend the parent directory. + ;; FIXME obviously this is not a perfect solution. + (if (string-equal "lisp" + (setq parent (file-name-nondirectory + (directory-file-name + (file-name-directory fullname))))) + relname + (format "%s/%s" parent relname)) + relname))) + (defun authors-canonical-file-name (file log-file pos author) "Return canonical file name for FILE found in LOG-FILE. Checks whether FILE is a valid (existing) file name, has been renamed, -or is on the list of removed files. Returns the non-diretory part of +or is on the list of removed files. Returns the non-directory part of the file name. Only uses the LOG-FILE position POS and associated AUTHOR to print a message if FILE is not found." ;; FILE should be re-checked in every different directory associated @@ -594,7 +661,7 @@ (file-exists-p file) (file-exists-p relname) (file-exists-p (concat "etc/" relname))) - (setq valid relname) + (setq valid (authors-disambiguate-file-name fullname)) (setq valid (assoc file authors-renamed-files-alist)) (if valid (setq valid (cdr valid)) @@ -611,6 +678,7 @@ (cons (cons fullname valid) authors-checked-files-alist)) (unless (or valid (member file authors-ignored-files) + (authors-obsolete-file-p file) (string-match "[*]" file) (string-match "^[0-9.]+$" file)) (setq authors-invalid-file-names @@ -759,7 +827,7 @@ (enable-local-variables :safe) ; for find-file, hence let* (enable-local-eval nil) (buffer (find-file-noselect file))) - (setq file (file-name-nondirectory file)) + (setq file (authors-disambiguate-file-name (expand-file-name file))) (with-current-buffer buffer (save-restriction (widen)