[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 3cfc553 2/2: Add new function lm-maintainers (bug#48592)
From: |
Jonas Bernoulli |
Subject: |
master 3cfc553 2/2: Add new function lm-maintainers (bug#48592) |
Date: |
Wed, 30 Jun 2021 13:56:59 -0400 (EDT) |
branch: master
commit 3cfc5532021357ef2e1284323e6936fafce484e5
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
Add new function lm-maintainers (bug#48592)
* doc/lispref/tips.texi (Library Headers): Improve wording.
* lisp/emacs-lisp/lisp-mnt.el (lm-maintainers): New function.
(lm-maintainer): Make obsolete in favor of lm-maintainer.
(lm-verify): Use lm-maintainers.
(lm-report-bug): Use lm-maintainers.
---
doc/lispref/tips.texi | 6 +++---
lisp/emacs-lisp/lisp-mnt.el | 22 +++++++++++++++-------
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index 36c68ee..54cafff 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -1034,7 +1034,7 @@ the conventional possibilities for @var{header-name}:
@table @samp
@item Author
-This line states the name and email address of at least the principal
+This header states the name and email address of at least the principal
author of the library. If there are multiple authors, list them on
continuation lines led by @code{;;} and a tab or at least two spaces.
We recommend including a contact email address, of the form
@@ -1053,8 +1053,8 @@ This header has the same format as the Author header. It
lists the
person(s) who currently maintain(s) the file (respond to bug reports,
etc.).
-If there is no maintainer line, the person(s) in the Author field
-is/are presumed to be the maintainers. Some files in Emacs use
+If there is no Maintainer header, the person(s) in the Author header
+is/are presumed to be the maintainer(s). Some files in Emacs use
@samp{emacs-devel@@gnu.org} for the maintainer, which means the author is
no longer responsible for the file, and that it is maintained as part
of Emacs.
diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el
index 11a0440..83da495 100644
--- a/lisp/emacs-lisp/lisp-mnt.el
+++ b/lisp/emacs-lisp/lisp-mnt.el
@@ -378,14 +378,22 @@ the cdr is an email address."
(let ((authorlist (lm-header-multiline "author")))
(mapcar #'lm-crack-address authorlist))))
+(defun lm-maintainers (&optional file)
+ "Return the maintainer list of file FILE, or current buffer if FILE is nil.
+If the maintainers are unspecified, then return the authors.
+Each element of the list is a cons; the car is the full name,
+the cdr is an email address."
+ (lm-with-file file
+ (mapcar #'lm-crack-address
+ (or (lm-header-multiline "maintainer")
+ (lm-header-multiline "author")))))
+
(defun lm-maintainer (&optional file)
"Return the maintainer of file FILE, or current buffer if FILE is nil.
+If the maintainer is unspecified, then return the author.
The return value has the form (NAME . ADDRESS)."
- (lm-with-file file
- (let ((maint (lm-header "maintainer")))
- (if maint
- (lm-crack-address maint)
- (car (lm-authors))))))
+ (declare (obsolete lm-maintainers "28.1"))
+ (car (lm-maintainers file)))
(defun lm-creation-date (&optional file)
"Return the created date given in file FILE, or current buffer if FILE is
nil."
@@ -545,7 +553,7 @@ copyright notice is allowed."
"Can't find package name")
((not (lm-authors))
"`Author:' tag missing")
- ((not (lm-maintainer))
+ ((not (lm-maintainers))
"`Maintainer:' tag missing")
((not (lm-summary))
"Can't find the one-line summary description")
@@ -613,7 +621,7 @@ Prompts for bug subject TOPIC. Leaves you in a mail
buffer."
(interactive "sBug Subject: ")
(require 'emacsbug)
(let ((package (lm-get-package-name))
- (addr (lm-maintainer))
+ (addr (car (lm-maintainers)))
(version (lm-version)))
(compose-mail (if addr
(concat (car addr) " <" (cdr addr) ">")