]> git.eshelyaron.com Git - emacs.git/commitdiff
* admin/admin.el (reminder-for-release-blocking-bugs): New command.
authorMichael Albinus <michael.albinus@gmx.de>
Tue, 25 Aug 2020 13:19:11 +0000 (15:19 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 25 Aug 2020 13:19:11 +0000 (15:19 +0200)
admin/admin.el

index 310cd54e9571c646f182c89979d5b1cbcfb9f235..728aab8b1aee1d68c6caf04539cdbbb2fdda64b5 100644 (file)
@@ -921,6 +921,51 @@ changes (in a non-trivial way).  This function does not check for that."
                              'help-echo "Mouse-2: visit this definition"
                              :type 'cusver-xref)))))))
 
+\f
+;; Reminder message for open release-blocking bugs.  This requires the
+;; GNU ELPA package `debbugs'.
+
+(defun reminder-for-release-blocking-bugs (version)
+  "Submit a reminder message for release-blocking bugs of Emacs VERSION."
+  (interactive
+    (list (completing-read
+          "Emacs release: "
+          (mapcar #'identity debbugs-gnu-emacs-blocking-reports)
+          nil t debbugs-gnu-emacs-current-release)))
+
+  (require 'reporter)
+  (require 'debbugs-gnu)
+
+  (when-let ((id (alist-get version debbugs-gnu-emacs-blocking-reports
+                            nil nil #'string-equal))
+             (status-id (debbugs-get-status id))
+             (blockedby-ids (debbugs-get-attribute (car status-id) 'blockedby))
+             (blockedby-status
+              (apply #'debbugs-get-status (sort blockedby-ids #'<))))
+
+    (reporter-submit-bug-report
+     "<emacs-devel@gnu.org>" ; to-address
+     nil nil nil
+     (lambda () ; posthook
+       (goto-char (point-min))
+       (mail-position-on-field "subject")
+       (insert (format "Release-blocking bugs for Emacs %s" version))
+       (mail-text)
+       (delete-region (point) (point-max))
+       (insert "
+The following bugs are regarded as release-blocking for Emacs " version ".
+People are encouraged to work on them with priority.\n\n")
+       (dolist (_ blockedby-status)
+         (unless (equal (debbugs-get-attribute _ 'pending) "done")
+           (insert (format "bug#%d %s\n"
+                           (debbugs-get-attribute _ 'id)
+                           (debbugs-get-attribute _ 'subject)))))
+       (insert "
+If you use the debbugs package from GNU ELPA, you can apply the
+following form to see all bugs which block a given release:
+
+  (debbugs-gnu-emacs-release-blocking-reports \"" version "\")\n")))))
+
 (provide 'admin)
 
 ;;; admin.el ends here