>From 542d7b342d0ce86933d8c6998ca7a817952b0b3f Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Thu, 21 Jul 2016 15:58:47 -0400 Subject: [PATCH] Cc package maintainers when reporting emacs bugs * lisp/mail/emacsbug.el (report-emacs-bug): Prompt for a package to report a bug against, and cc the package maintainer, if any, on the bug report. --- lisp/mail/emacsbug.el | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 18eaa22..87ac234 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -144,11 +144,17 @@ message-send-mail-function (defvar message-sendmail-envelope-from) ;;;###autoload -(defun report-emacs-bug (topic &optional unused) +(defun report-emacs-bug (topic package &optional unused) "Report a bug in GNU Emacs. Prompts for bug subject. Leaves you in a mail buffer." (declare (advertised-calling-convention (topic) "24.5")) - (interactive "sBug Subject: ") + (interactive (list + (read-string "Bug Subject: ") + (completing-read + "Package: " + (progn + (package-initialize) + package-alist)))) ;; The syntax `version;' is preferred to `[version]' because the ;; latter could be mistakenly stripped by mailing software. (if (eq system-type 'ms-dos) @@ -158,6 +164,9 @@ report-emacs-bug (let ((from-buffer (current-buffer)) (can-insert-mail (or (report-emacs-bug-can-use-xdg-email) (report-emacs-bug-can-use-osx-open))) + (cc (unless (or (string-empty-p package) (string= package "emacs")) + (require 'finder) + (lm-maintainer (find-library-name package)))) user-point message-end-point) (setq message-end-point (with-current-buffer (messages-buffer) @@ -184,6 +193,13 @@ report-emacs-bug (when (and (not message-sendmail-envelope-from) (message-bogus-recipient-p (message-make-address))) (set (make-local-variable 'message-sendmail-envelope-from) 'header))) + (when (cdr cc) ;; The cdr is the email address. + (if (eq major-mode 'message-mode) + (message-goto-cc) + (mail-cc)) + (if (car cc) + (insert (format "%s <%s>" (car cc) (cdr cc))) + (insert (format "%s" (cdr cc))))) (rfc822-goto-eoh) (forward-line 1) ;; Move the mail signature to the proper place. -- 2.9.0