1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-01 08:17:38 +00:00

(authors-obsolete-file-p): New function.

(authors-obsolete-files-regexps): New variable.
(authors-add): Don't record changes in obsolete files.
This commit is contained in:
Gerd Moellmann 2000-09-30 12:06:40 +00:00
parent 9194723588
commit 8a5506f297
2 changed files with 34 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2000-09-30 Gerd Moellmann <gerd@gnu.org>
* emacs-lisp/authors.el (authors-obsolete-file-p): New function.
(authors-obsolete-files-regexps): New variable.
(authors-add): Don't record changes in obsolete files.
2000-09-29 Stefan Monnier <monnier@cs.yale.edu> 2000-09-29 Stefan Monnier <monnier@cs.yale.edu>
* autoinsert.el (auto-insert-mode): Use define-minor-mode. * autoinsert.el (auto-insert-mode): Use define-minor-mode.

View File

@ -87,17 +87,39 @@ matches REGEXP, use ALIAS instead. The special alias \"ignore\" means
ignore that author.") ignore that author.")
(defvar authors-obsolete-files-regexps
'("vc-\\*\\.el$"
"spec.txt$"
"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
listed.")
(defun authors-obsolete-file-p (file)
"Return non-nil if FILE is obsolete.
FILE is considered obsolete if it matches on of the regular expressions
from `authors-obsolete-files-regexps'."
(let (obsolete-p
(regexps authors-obsolete-files-regexps))
(while (and regexps (not obsolete-p))
(setq obsolete-p (string-match (car regexps) file)
regexps (cdr regexps)))
obsolete-p))
(defun authors-add (author file action table) (defun authors-add (author file action table)
"Record that AUTHOR worked on FILE. "Record that AUTHOR worked on FILE.
ACTION is a keyword symbol describing what he did. Record file, ACTION is a keyword symbol describing what he did. Record file,
author and what he did in hash table TABLE. See the description of author and what he did in hash table TABLE. See the description of
`authors-scan-change-log' for the structure of the hash table." `authors-scan-change-log' for the structure of the hash table."
(let* ((value (gethash author table)) (unless (authors-obsolete-file-p file)
(entry (assoc file value))) (let* ((value (gethash author table))
(if (null entry) (entry (assoc file value)))
(puthash author (cons (list file action) value) table) (if (null entry)
(unless (memq action entry) (puthash author (cons (list file action) value) table)
(nconc entry (list action)))))) (unless (memq action entry)
(nconc entry (list action)))))))
(defun authors-process-lines (program &rest args) (defun authors-process-lines (program &rest args)