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

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

[elpa] master a172188: Command to list blocking reports


From: Lars Ingebrigtsen
Subject: [elpa] master a172188: Command to list blocking reports
Date: Fri, 25 Dec 2015 20:25:45 +0000

branch: master
commit a1721887603dee858c199d2699a99fb47a98c831
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

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

diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el
index ce225b2..0136831 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 4af04f5..f885125 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.
 
address@hidden @item
address@hidden @kindex @kbd{/}
address@hidden @kbd{/} @tab
address@hidden @code{debbugs-gnu-narrow-to-status}
-
address@hidden @item
address@hidden @kindex @kbd{w}
address@hidden @kbd{w} @tab
address@hidden @code{debbugs-gnu-widen}
address@hidden
address@hidden @kbd{/}
address@hidden/} @tab
address@hidden
+Narrow the list of bugs to the bugs that match the given regex.
+
address@hidden
address@hidden @kbd{w}
address@hidden @tab
address@hidden
+Restore the full list again after narrowing.
+
address@hidden
address@hidden @kbd{R}
address@hidden @tab
address@hidden
+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]