summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/authors.el32
1 files changed, 31 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el
index 9c937e26467..1e5c48323e8 100644
--- a/lisp/emacs-lisp/authors.el
+++ b/lisp/emacs-lisp/authors.el
@@ -99,6 +99,21 @@ matches REGEXP, use ALIAS instead. The special alias \"ignore\" means
ignore that author.")
+(defvar authors-public-domain-files
+ '("auto-show\\.el"
+ "form-d2\\.el"
+ "emerge\\.el"
+ "unused\\.el"
+ "vi\\.el"
+ "feedmail\\.el"
+ "mailpost\\.el"
+ "hanoi\\.el"
+ "meese\\.el"
+ "studly\\.el"
+ "modula2\\.el")
+ "List of regexps matching files for which the FSF doesn't need papers.")
+
+
(defvar authors-obsolete-files-regexps
'("vc-\\*\\.el$"
"spec.txt$"
@@ -366,6 +381,17 @@ TABLE is a hash table to add author information to."
(kill-buffer buffer))))
+(defun authors-public-domain-p (file)
+ "Return t if FILE is a file that was put in public domain."
+ (let ((public-domain-p nil)
+ (list authors-public-domain-files))
+ (while (and list (not public-domain-p))
+ (when (string-match (car list) file)
+ (setq public-domain-p t))
+ (setq list (cdr list)))
+ public-domain-p))
+
+
(defun authors-print (author changes)
"Insert information about AUTHOR's work on Emacs into the current buffer.
CHANGES is an alist of entries (FILE ACTION...), as produced by
@@ -376,7 +402,11 @@ CHANGES is an alist of entries (FILE ACTION...), as produced by
(let ((actions (cdr change))
(file (car change)))
(if (memq :wrote actions)
- (insert author " (wrote) " file "\n")
+ (progn
+ (insert author " (wrote) " file)
+ (when (authors-public-domain-p file)
+ (insert " (public domain)"))
+ (insert "\n"))
(setq nchanged (1+ nchanged)))))
(if (> nchanged authors-many-files)
(insert author " (changed) [more than "