X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/485aba46966fc9f812898cbd5f17a9e519cca013..f10533854f4c7bb54247a11981191bf37b70cb36:/packages/debbugs/debbugs-gnu.el diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el index 0ecfb165a..55841fdf0 100644 --- a/packages/debbugs/debbugs-gnu.el +++ b/packages/debbugs/debbugs-gnu.el @@ -187,9 +187,6 @@ :group 'debbugs :version "24.1") -(defvar debbugs-gnu-blocking-report 19759 - "The ID of the current release report used to track blocking bug reports.") - (defcustom debbugs-gnu-default-severities '("serious" "important" "normal") "*The list severities bugs are searched for. \"tagged\" is not a severity but marks locally tagged bugs." @@ -236,6 +233,7 @@ (const "guile") (const "guix") (const "gzip") + (const "hyperbole") (const "idutils") (const "libtool") (const "mh-e") @@ -263,8 +261,8 @@ suppressed bugs is toggled by `debbugs-gnu-toggle-suppress'." (defcustom debbugs-gnu-mail-backend 'gnus "*The email backend to use for reading bug report email exchange. -If this is 'gnus, the default, use Gnus. -If this is 'rmail, use Rmail instead." +If this is `gnus', the default, use Gnus. +If this is `rmail', use Rmail instead." :group 'debbugs-gnu :type '(choice (const :tag "Use Gnus" 'gnus) (const :tag "Use Rmail" 'rmail)) @@ -324,6 +322,22 @@ a date, value is the cons cell \(BEFORE . AFTER\).") The specification which bugs shall be suppressed is taken from `debbugs-gnu-default-suppress-bugs'.") +(defcustom debbugs-gnu-emacs-current-release "25.1" + "The current Emacs relase developped for." + :group 'debbugs-gnu + :type '(set (const "24.5") + (const "25.1") + (const "25.2")) + :version "25.1") + +(defconst debbugs-gnu-blocking-reports + '(("24.5" . 19758) + ("25.1" . 19759) + ("25.2" . 21966)) + "The IDs of the Emacs report used to track blocking bug reports. +It is a list of cons cells, each one containing the Emacs +version (a string) and the bug report number (a number).") + (defun debbugs-gnu-calendar-read (prompt acceptable &optional initial-contents) "Return a string read from the minibuffer. Derived from `calendar-read'." @@ -342,12 +356,6 @@ between the words, AND is used by default. The phrase can also be empty, in this case only the following attributes are used for search.")) -;;;###autoload -(defun debbugs-gnu-patches () - "List the bug reports that have been marked as containing a patch." - (interactive) - (debbugs-gnu nil '("emacs") nil nil "patch")) - ;;;###autoload (defun debbugs-gnu-search () "Search for Emacs bugs interactively. @@ -379,16 +387,28 @@ marked as \"client-side filter\"." (setq key (completing-read "Enter attribute: " (if phrase - '("severity" "package" "tags" - "author" "date" "subject" - ;; Client-side queries. - "status") - '("severity" "package" "archive" "src" "status" "tag" - "owner" "submitter" "maint" "correspondent" - ;; Client-side queries. - "date" "log_modified" "last_modified" - "found_date" "fixed_date" "unarchived" - "subject" "done" "forwarded" "msgid" "summary")) + (append + '("severity" "package" "tags" + "author" "date" "subject") + ;; Client-side filters. + (mapcar + (lambda (key) + (propertize + key 'face 'debbugs-gnu-done + 'help-echo "Client-side filter")) + '("status"))) + (append + '("severity" "package" "archive" "src" "status" "tag" + "owner" "submitter" "maint" "correspondent") + ;; Client-side filters. + (mapcar + (lambda (key) + (propertize + key 'face 'debbugs-gnu-done + 'help-echo "Client-side filter")) + '("date" "log_modified" "last_modified" + "found_date" "fixed_date" "unarchived" + "subject" "done" "forwarded" "msgid" "summary")))) nil t)) (cond ;; Server-side queries. @@ -431,7 +451,7 @@ marked as \"client-side filter\"." (completing-read (format "Enter status%s: " (if (null phrase) "" " (client-side filter)")) - '("pending" "forwarded" "fixed" "done"))) + '("open" "forwarded" "done"))) (when (not (zerop (length val1))) (if (null phrase) (add-to-list @@ -496,6 +516,12 @@ marked as \"client-side filter\"." ;; Do the search. (debbugs-gnu severities packages archivedp)))) +;;;###autoload +(defun debbugs-gnu-patches () + "List the bug reports that have been marked as containing a patch." + (interactive) + (debbugs-gnu nil debbugs-gnu-default-packages nil nil "patch")) + ;;;###autoload (defun debbugs-gnu (severities &optional packages archivedp suppress tags) "List all outstanding bugs." @@ -563,7 +589,7 @@ marked as \"client-side filter\"." "Retrieve bug numbers from debbugs.gnu.org according search criteria." (let* ((debbugs-port "gnu.org") (bugs (assoc 'bugs query)) - (tags (assoc 'tag query)) + (tags (and (member '(severity . "tagged") query) (assoc 'tag query))) (local-tags (and (member '(severity . "tagged") query) (not tags))) (phrase (assoc 'phrase query)) args) @@ -600,6 +626,10 @@ marked as \"client-side filter\"." (mapcar (lambda (x) (cdr (assoc "id" x))) (apply 'debbugs-search-est args))) + ;; User tags. + (tags + (setq args (mapcar (lambda (x) (if (eq x :package) :user x)) args)) + (apply 'debbugs-get-usertag args)) ;; Otherwise, we retrieve the bugs from the server. (t (apply 'debbugs-get-bugs args))))) @@ -1029,9 +1059,16 @@ The following commands are available: (defun debbugs-gnu-show-all-blocking-reports () "Narrow the display to just the reports that are blocking a release." (interactive) - (let ((blockers (cdr (assq 'blockedby - (car (debbugs-get-status - debbugs-gnu-blocking-report))))) + (let ((blockers + (cdr + (assq + 'blockedby + (car + (debbugs-get-status + (cdr + (assoc + debbugs-gnu-emacs-current-release + debbugs-gnu-blocking-reports))))))) (id (debbugs-gnu-current-id t)) (inhibit-read-only t) status)