From: Lars Ingebrigtsen Date: Fri, 25 Dec 2015 20:25:30 +0000 (+0100) Subject: Command to list blocking reports X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/a1721887603dee858c199d2699a99fb47a98c831 Command to list blocking reports * debbugs-gnu.el (debbugs-gnu-show-all-blocking-reports): List just blocking reports. --- diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el index ce225b21b..0136831df 100644 --- a/packages/debbugs/debbugs-gnu.el +++ b/packages/debbugs/debbugs-gnu.el @@ -168,6 +168,9 @@ :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." @@ -825,6 +828,7 @@ Used instead of `tabulated-list-print-entry'." (define-key map "b" 'debbugs-gnu-show-blocked-by-reports) (define-key map "B" 'debbugs-gnu-show-blocking-reports) (define-key map "C" 'debbugs-gnu-send-control-message) + (define-key map "R" 'debbugs-gnu-show-all-blocking-reports) map)) (defun debbugs-gnu-rescan () @@ -977,6 +981,26 @@ The following commands are available: (message "Bug %d is not blocking any other bug" id) (apply 'debbugs-gnu-bugs (cdr (assq 'blocks status)))))) +(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))))) + (id (debbugs-gnu-current-id t)) + (inhibit-read-only t) + status) + (setq debbugs-gnu-current-limit nil) + (goto-char (point-min)) + (while (not (eobp)) + (setq status (debbugs-gnu-current-status)) + (if (not (memq (cdr (assq 'id status)) blockers)) + (delete-region (point) (progn (forward-line 1) (point))) + (push (cdr (assq 'id status)) debbugs-gnu-current-limit) + (forward-line 1))) + (when id + (debbugs-gnu-goto id)))) + (defun debbugs-gnu-narrow-to-status (string &optional status-only) "Only display the bugs matching STRING. If STATUS-ONLY (the prefix), ignore matches in the From and diff --git a/packages/debbugs/debbugs-ug.texi b/packages/debbugs/debbugs-ug.texi index 4af04f507..f88512578 100644 --- a/packages/debbugs/debbugs-ug.texi +++ b/packages/debbugs/debbugs-ug.texi @@ -334,15 +334,24 @@ Show the email messages that discuss the bug. @code{debbugs-gnu-display-status} @* Show all bug attributes. -@c @item -@c @kindex @kbd{/} -@c @kbd{/} @tab -@c @code{debbugs-gnu-narrow-to-status} - -@c @item -@c @kindex @kbd{w} -@c @kbd{w} @tab -@c @code{debbugs-gnu-widen} +@item +@kindex @kbd{/} +@kbd{/} @tab +@code{debbugs-gnu-narrow-to-status} +Narrow the list of bugs to the bugs that match the given regex. + +@item +@kindex @kbd{w} +@kbd{w} @tab +@code{debbugs-gnu-widen} +Restore the full list again after narrowing. + +@item +@kindex @kbd{R} +@kbd{R} @tab +@code{debbugs-gnu-show-all-blocking-reports} +Narrow the list of reports to the ones that are blocking the current +release. @item @kindex @kbd{g}