[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/package+vc effe1f20f5 3/9: Extract package maintainer guessing c
From: |
Philip Kaludercic |
Subject: |
feature/package+vc effe1f20f5 3/9: Extract package maintainer guessing code into a separate function |
Date: |
Sat, 8 Oct 2022 05:58:48 -0400 (EDT) |
branch: feature/package+vc
commit effe1f20f58bd92443e28cda2f0f65c681f1b387
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>
Extract package maintainer guessing code into a separate function
* package.el (package-maintainers): Add new function.
(package-contact-maintainer): Use it.
(package-report-bug): Use it.
---
lisp/emacs-lisp/package.el | 50 +++++++++++++++++++++-------------------------
1 file changed, 23 insertions(+), 27 deletions(-)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 48d78fab83..9ac94fa6bc 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -4516,6 +4516,21 @@ DESC must be a `package-desc' object."
(funcall browse-url-secondary-browser-function url)
(browse-url url))))
+(defun package-maintainers (pkg-desc)
+ "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
+thrown."
+ (unless pkg-desc
+ (user-error "Invalid package description"))
+ (let* ((extras (package-desc-extras pkg-desc))
+ (maint (alist-get :maintainer extras)))
+ (unless maint
+ (user-error "Package has no explicit maintainer"))
+ (with-temp-buffer
+ (package--print-email-button maint)
+ (string-trim (substring-no-properties (buffer-string))))))
+
;; TODO: Allow attaching a patch to send directly to the maintainer.
;; Ideally this should be able to detect the local changes, convert
;; these into patches.
@@ -4524,33 +4539,19 @@ DESC must be a `package-desc' object."
DESC must be a `package-desc' object."
(interactive (list (package--query-desc package-archive-contents))
package-menu-mode)
- (unless desc
- (user-error "No package here"))
- (let* ((extras (package-desc-extras desc))
- (maint (alist-get :maintainer extras))
- (name (package-desc-name desc))
- (subject (read-string "Subject: ")))
- (unless maint
- (user-error "Package has no explicit maintainer"))
- (compose-mail
- (with-temp-buffer
- (package--print-email-button maint)
- (string-trim (substring-no-properties (buffer-string))))
- (format "[%s] %s" name subject))))
+ (let ((maint (package-maintainers desc))
+ (name (package-desc-name desc))
+ (subject (read-string "Subject: ")))
+ (compose-mail maint (format "[%s] %s" name subject))))
(defun package-report-bug (desc)
"Prepare a message to send to the maintainers of a package.
DESC must be a `package-desc' object."
(interactive (list (package--query-desc package-alist))
package-menu-mode)
- (unless desc
- (user-error "Package must be non-nil"))
- (let* ((extras (package-desc-extras desc))
- (maint (alist-get :maintainer extras))
- vars)
- (unless maint
- (user-error "Package %s has no explicit maintainer"
- (package-desc-name desc)))
+ (let ((maint (package-maintainers desc))
+ (name (symbol-name (package-desc-name desc)))
+ vars)
(let ((check (apply-partially #'file-equal-p (package-desc-dir desc))))
(dolist-with-progress-reporter (group custom-current-group-alist)
"Scanning for modified user options..."
@@ -4562,12 +4563,7 @@ DESC must be a `package-desc' object."
(locate-dominating-file (car group) check))
(push (car ent) vars)))))
(dlet ((reporter-prompt-for-summary-p t))
- (reporter-submit-bug-report
- (with-temp-buffer
- (package--print-email-button maint)
- (string-trim (substring-no-properties (buffer-string))))
- (symbol-name (package-desc-name desc))
- vars))))
+ (reporter-submit-bug-report maint name vars))))
;;;; Introspection
- feature/package+vc updated (bb2bd2ed91 -> a4a825df82), Philip Kaludercic, 2022/10/08
- feature/package+vc effe1f20f5 3/9: Extract package maintainer guessing code into a separate function,
Philip Kaludercic <=
- feature/package+vc e75994f2ff 2/9: Add an inline procedure for checking for source packages, Philip Kaludercic, 2022/10/08
- feature/package+vc a4a825df82 9/9: Clone packages into a separate directory, Philip Kaludercic, 2022/10/08
- feature/package+vc 077c1533df 6/9: ; * package-vc.el (package-vc-read-pkg): Return package description, Philip Kaludercic, 2022/10/08
- feature/package+vc f9065c7951 5/9: Use 'package-vc-p' in package-vc.el, Philip Kaludercic, 2022/10/08
- feature/package+vc 8cfeb8a9e0 1/9: Merge branch 'master' into feature/package+vc, Philip Kaludercic, 2022/10/08
- feature/package+vc e092e60f15 4/9: Add a package-vc command for submitting ptches, Philip Kaludercic, 2022/10/08
- feature/package+vc 7c66223dfb 8/9: * lisp/emacs-lisp/package.el (package-report-bug): Use 'file-in-directory-p', Philip Kaludercic, 2022/10/08
- feature/package+vc 432252c23f 7/9: Extend package-vc heuristics to multiple source forges, Philip Kaludercic, 2022/10/08