Subject: bug#14673: closed (Re: bug#14673: Fwd: Show all lines in marked buffers matching a regexp (with patch))

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 03 Jul 2013 23:06:03 +0000

Your bug report

#14673: Fwd: Show all lines in marked buffers matching a regexp (with patch)

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
14673: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14673
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#14673: Fwd: Show all lines in marked buffers matching a regexp (with patch)
From: Juri Linkov <[email-masked]>
To: Matthias Meulien <[email-masked]>
Cc: [email-masked]
Date: Thu, 04 Jul 2013 02:05:19 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 24.3.50

> Severity: wishlist
> Tags: patch

> Here is a patch to lisp/buff-menu.el that adds such a command with
> key binding `M-s a C-o'.

Thanks, your patch is applied now.

Subject: Fwd: Show all lines in marked buffers matching a regexp (with patch)
From: Matthias Meulien <[email-masked]>
To: [email-masked]
Date: Thu, 20 Jun 2013 09:30:20 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Severity: wishlist
Tags: patch

-------- Message original --------
Return-Path: <[email-masked]>
Received: from choubidou.localdomain 
(jau31-3-82-239-20-84.fbx.proxad.net. [82.239.20.84])        by 
mx.google.com with ESMTPSA id ev19sm5719919wid.2.2013.06.18.17.42.47 
     for <[email-masked]>        (version=TLSv1.2 cipher=RC4-SHA 
bits=128/128);        Tue, 18 Jun 2013 17:42:48 -0700 (PDT)
From: Matthias Meulien <[email-masked]>
To: [email-masked]
Subject: Show all lines in marked buffers matching a regexp (with patch)
References: <[email-masked]> 
<[email-masked]> 
<[email-masked]> <[email-masked]>
Date: Wed, 19 Jun 2013 02:46:18 +0200
In-Reply-To: <[email-masked]> ("Kazu 
Yamamoto \=\?utf-8\?B\?KOWxseacrOWSjOW9pikiJ3M\=\?\= message of "Wed, 19 
Jun 2013 06:40:10 +0900 (JST)")
Message-ID: <[email-masked]>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="

Don't you think the Buffer List should have a command to show all
lines in marked buffers matching a regexp?

An analog of `M-s a C-s' and `M-s a M-C-s' but using Multi Occur
in place of ISearch.

Here is a patch to lisp/buff-menu.el that adds such a command with
key binding `M-s a C-o'.
-- 
Matthias

>From a4f8d342ebad3f357ba470c8e7b56a36e57c4379 Mon Sep 17 00:00:00 2001
From: Matthias Meulien <[email-masked]>
Date: Wed, 19 Jun 2013 02:28:22 +0200
Subject: [PATCH] Extend buffer menu with command to show lines in marked
 buffers matching a regexp

---
 lisp/buff-menu.el | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 6c02233..0ac109d 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -129,7 +129,8 @@ commands.")
     (define-key map "T" 'Buffer-menu-toggle-files-only)
     (define-key map (kbd "M-s a C-s")   'Buffer-menu-isearch-buffers)
     (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp)
-
+    (define-key map (kbd "M-s a C-o") 'Buffer-menu-multi-occur)
+    
     (define-key map [mouse-2] 'Buffer-menu-mouse-select)
     (define-key map [follow-link] 'mouse-face)
 
@@ -169,6 +170,9 @@ commands.")
     (bindings--define-key menu-map [ir]
       '(menu-item "Isearch Marked Buffers..." Buffer-menu-isearch-buffers
 		 :help "Search for a string through all marked buffers using Isearch"))
+    (bindings--define-key menu-map [mo]
+      '(menu-item "Multi Occur Marked Buffers..." Buffer-menu-multi-occur
+		 :help "Show lines matching a regexp in marked buffers using Occur"))
     (bindings--define-key menu-map [s3] menu-bar-separator)
     (bindings--define-key menu-map [by]
       '(menu-item "Bury" Buffer-menu-bury
@@ -226,6 +230,7 @@ In Buffer Menu mode, the following commands are defined:
      buffer selected before this one in another window.
 \\[Buffer-menu-isearch-buffers]    Incremental search in the marked buffers.
 \\[Buffer-menu-isearch-buffers-regexp]  Isearch for regexp in the marked buffers.
+\\[Buffer-menu-multi-occur] Show lines matching regexp in the marked buffers.
 \\[Buffer-menu-visit-tags-table]    visit-tags-table this buffer.
 \\[Buffer-menu-not-modified]    Clear modified-flag on that buffer.
 \\[Buffer-menu-save]    Mark that buffer to be saved, and move down.
@@ -477,6 +482,13 @@ If UNMARK is non-nil, unmark them."
   (interactive)
   (multi-isearch-buffers-regexp (Buffer-menu-marked-buffers)))
 
+(defun Buffer-menu-multi-occur ()
+  "Show all lines in marked buffers containing a match for a
+regexp ."
+  (interactive)
+  (let ((regexp (occur-read-primary-args)))
+    (multi-occur (Buffer-menu-marked-buffers) (car regexp))))
+
 
 (defun Buffer-menu-visit-tags-table ()
   "Visit the tags table in the buffer on this line.  See `visit-tags-table'."
-- 
1.8.3.1