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

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

[elpa] externals/debbugs efe1ecf 033/311: * debbugs-gnu.el (debbugs-sele


From: Stefan Monnier
Subject: [elpa] externals/debbugs efe1ecf 033/311: * debbugs-gnu.el (debbugs-select-report): Fetch all merged
Date: Sun, 29 Nov 2020 18:41:35 -0500 (EST)

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

    * debbugs-gnu.el (debbugs-select-report): Fetch all merged
    reports.
---
 ChangeLog      |  5 +++++
 debbugs-gnu.el | 36 ++++++++++++++++++++++--------------
 2 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b205c1e..598a42b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * debbugs-gnu.el (debbugs-select-report): Fetch all merged
+       reports.
+
 2011-07-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * debbugs-gnu.el (debbugs-rescan): New command and keystroke.
diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 1b361ae..8801fbb 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -317,31 +317,39 @@ The following commands are available:
 (defvar debbugs-bug-number nil)
 
 (defun debbugs-current-id (&optional noerror)
-  (or (cdr (assq 'id (get-text-property (line-beginning-position)
-                                       'debbugs-status)))
+  (or (cdr (assq 'id (debbugs-current-status)))
       (and (not noerror)
           (error "No bug on the current line"))))
 
-(defun debbugs-display-status (id)
+(defun debbugs-current-status ()
+  (get-text-property (line-beginning-position)
+                    'debbugs-status))
+
+(defun debbugs-display-status (status)
   "Display the status of the report on the current line."
-  (interactive (list (debbugs-current-id)))
-  (let ((status (get-text-property (line-beginning-position)
-                                  'debbugs-status)))
+  (interactive (list (debbugs-current-status)))
+  (let ((status (debbugs-current-status)))
     (pop-to-buffer "*Bug Status*")
     (erase-buffer)
     (pp status (current-buffer))
     (goto-char (point-min))))
 
-(defun debbugs-select-report (id)
+(defun debbugs-select-report ()
   "Select the report on the current line."
-  (interactive (list (debbugs-current-id)))
+  (interactive)
   ;; We open the report messages.
-  (gnus-read-ephemeral-emacs-bug-group
-   id (cons (current-buffer)
-           (current-window-configuration)))
-  (with-current-buffer (window-buffer (selected-window))
-    (debbugs-summary-mode 1)
-    (set (make-local-variable 'debbugs-bug-number) id)))
+  (let* ((status (debbugs-current-status))
+        (id (cdr (assq 'id status)))
+        (merged (cdr (assq 'mergedwith status))))
+    (gnus-read-ephemeral-emacs-bug-group
+     (cons id (if (listp merged)
+                 merged
+               (list merged)))
+     (cons (current-buffer)
+          (current-window-configuration)))
+    (with-current-buffer (window-buffer (selected-window))
+      (debbugs-summary-mode 1)
+      (set (make-local-variable 'debbugs-bug-number) id))))
 
 (defvar debbugs-summary-mode-map
   (let ((map (make-sparse-keymap)))



reply via email to

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