'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