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 (ensure-proper-list
                 (or (cdr (assoc :maintainer extras))
                     (cdr (assoc :maintainers extras))
                     ;; If no maintainers are listed, contact authors
                     ;; instead (bug#80478)
                     (cdr (assoc :authors extras))))))
    (cond
     ((and (null maint) (null no-error))
      (user-error "Package `%s' has no explicit maintainer" name))
     ((and (consp (car maint)) (stringp (cdar maint))
           (not (any #'car maint))
           (null no-error))
      (user-error "Package `%s' has no maintainer address" name))
     (t
      (require 'ietf-drums)
      (mapconcat (lambda (e)
                   (ietf-drums-make-address (car e) (cdr e)))
                 maint ", ")))))