Function: package-maintainers
package-maintainers is a byte-compiled function defined in
package.el.gz.
Signature
(package-maintainers PKG-DESC &optional NO-ERROR)
Documentation
Return an email address for the maintainers of PKG-DESC.
The email address may contain commas, if there are multiple maintainers. If no maintainers are found, an error will be signaled. If the optional argument NO-ERROR is non-nil no error will be signaled in that case.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
(defun package-maintainers (pkg-desc &optional no-error)
"Return an email address for the maintainers of PKG-DESC.
The email address may contain commas, if there are multiple
maintainers. If no maintainers are found, an error will be
signaled. If the optional argument NO-ERROR is non-nil no error
will be signaled in that case."
(unless (package-desc-p pkg-desc)
(error "Invalid package description: %S" pkg-desc))
(let* ((name (package-desc-name pkg-desc))
(extras (package-desc-extras pkg-desc))
(maint (alist-get :maintainer extras)))
(unless (listp (cdr maint))
(setq maint (list maint)))
(cond
((and (null maint) (null no-error))
(user-error "Package `%s' has no explicit maintainer" name))
((and (not (progn
(require 'ietf-drums)
(ietf-drums-parse-address (cdar maint))))
(null no-error))
(user-error "Package `%s' has no maintainer address" name))
(t
(with-temp-buffer
(mapc #'package--print-email-button maint)
(replace-regexp-in-string
"\n" ", " (string-trim
(buffer-substring-no-properties
(point-min) (point-max)))))))))