emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/debbugs 4c9f22b 148/311: Command to list blocking repor


From: Stefan Monnier
Subject: [elpa] externals/debbugs 4c9f22b 148/311: Command to list blocking reports
Date: Sun, 29 Nov 2020 18:41:59 -0500 (EST)

branch: externals/debbugs
commit 4c9f22bd0903fb7bf9fb034cf7598873fcec5703
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Command to list blocking reports
    
    * debbugs-gnu.el (debbugs-gnu-show-all-blocking-reports): List
    just blocking reports.
---
 debbugs-gnu.el  | 24 ++++++++++++++++++++++++
 debbugs-ug.texi | 27 ++++++++++++++++++---------
 2 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index ce225b2..0136831 100644
--- a/debbugs-gnu.el
+++ b/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/debbugs-ug.texi b/debbugs-ug.texi
index 4af04f5..f885125 100644
--- a/debbugs-ug.texi
+++ b/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}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]