]> code.delx.au - gnu-emacs-elpa/commitdiff
Allow ignoring matches in From/Subject when narrowing.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 11 Apr 2012 13:27:04 +0000 (15:27 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 11 Apr 2012 13:27:04 +0000 (15:27 +0200)
packages/debbugs/debbugs-gnu.el

index 363f4e9c0c3c380ef41b9ca12e46730ce73d2897..1621a342d69cd879612ad54f66576c8769f394da 100644 (file)
@@ -852,26 +852,29 @@ The following commands are available:
   (interactive)
   (let ((id (debbugs-gnu-current-id t))
        (buffer-read-only nil))
+    (setq debbugs-gnu-current-limit nil)
     (tabulated-list-init-header)
     (tabulated-list-print)
-    (setq debbugs-gnu-current-limit nil)
     (when id
       (debbugs-gnu-goto id))))
 
-(defun debbugs-gnu-narrow-to-status (string)
-  "Only display the bugs matching STRING."
-  (interactive "sNarrow to: ")
+(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
+Subject fields."
+  (interactive "sNarrow to: \np")
   (let ((id (debbugs-gnu-current-id t))
        (buffer-read-only nil)
        status)
-    (debbugs-gnu-widen)
     (goto-char (point-min))
     (while (not (eobp))
       (setq status (debbugs-gnu-current-status))
       (if (and (not (member string (assq 'keywords status)))
               (not (member string (assq 'severity status)))
-              (not (string-match string (cdr (assq 'originator status))))
-              (not (string-match string (cdr (assq 'subject status)))))
+              (or status-only
+                  (not (string-match string (cdr (assq 'originator status)))))
+              (or status-only
+                  (not (string-match string (cdr (assq 'subject status))))))
          (delete-region (point) (progn (forward-line 1) (point)))
        (push (cdr (assq 'id status)) debbugs-gnu-current-limit)
        (forward-line 1)))