From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: Calling occur from within isearch Date: Wed, 21 Nov 2007 22:03:14 +0200 Organization: JURTA Message-ID: <87hcjf2wot.fsf@jurta.org> References: <47448DB2.60402@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1195675480 942 80.91.229.12 (21 Nov 2007 20:04:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 21 Nov 2007 20:04:40 +0000 (UTC) Cc: Emacs Devel To: "Lennart Borgman \(gmail\)" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 21 21:04:46 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IuvoR-0007WO-3r for ged-emacs-devel@m.gmane.org; Wed, 21 Nov 2007 21:04:43 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IuvoD-0006py-93 for ged-emacs-devel@m.gmane.org; Wed, 21 Nov 2007 15:04:29 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Iuvo7-0006lE-Is for emacs-devel@gnu.org; Wed, 21 Nov 2007 15:04:23 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Iuvo5-0006i4-LZ for emacs-devel@gnu.org; Wed, 21 Nov 2007 15:04:22 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Iuvo5-0006hO-6Q for emacs-devel@gnu.org; Wed, 21 Nov 2007 15:04:21 -0500 Original-Received: from relay01.kiev.sovam.com ([62.64.120.200]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Iuvo4-0007VV-6E for emacs-devel@gnu.org; Wed, 21 Nov 2007 15:04:20 -0500 Original-Received: from [83.170.232.243] (helo=smtp.svitonline.com) by relay01.kiev.sovam.com with esmtp (Exim 4.67) (envelope-from ) id 1Iuvnr-0002IX-Gz; Wed, 21 Nov 2007 22:04:12 +0200 In-Reply-To: <47448DB2.60402@gmail.com> (Lennart Borgman's message of "Wed, 21 Nov 2007 20:57:38 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux) X-Scanner-Signature: 669e5d776fa0e81a52da9f410dfff76f X-DrWeb-checked: yes X-SpamTest-Envelope-From: juri@jurta.org X-SpamTest-Group-ID: 00000000 X-SpamTest-Header: Not Detected X-SpamTest-Info: Profiles 1817 [Nov 21 2007] X-SpamTest-Info: helo_type=3 X-SpamTest-Info: {HEADERS: header Content-Type found without required header Content-Transfer-Encoding} X-SpamTest-Method: none X-SpamTest-Rate: 19 X-SpamTest-Status: Not detected X-SpamTest-Status-Extended: not_detected X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0255], KAS30/Release X-detected-kernel: by monty-python.gnu.org: FreeBSD 4.8-5.1 (or MacOS X 10.2-10.3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:83806 Archived-At: > Sometimes I think it would be good to call occur from within isearch. > Anyone else that thinks it would be good to be able to do so? This is possible with the following patch. I'm still not sure whether it is better to quit isearch before calling occur or not. Anyway, it works without quitting isearch, and displays the results of occur in another window. Index: lisp/isearch.el =================================================================== RCS file: /sources/emacs/emacs/lisp/isearch.el,v retrieving revision 1.306 diff -c -r1.306 isearch.el *** lisp/isearch.el 10 Nov 2007 23:03:24 -0000 1.306 --- lisp/isearch.el 21 Nov 2007 20:01:07 -0000 *************** *** 1256,1265 **** --- 1257,1276 ---- (interactive) (isearch-query-replace t)) + (defun isearch-occur (regexp &optional nlines) + "Run `occur' with string to search from the current search string. + REGEXP is a regexp from the last search queted when the search was not regexp. + NLINES has the same meaning as in `occur'." + (interactive + (list + (if isearch-regexp isearch-string (regexp-quote isearch-string)) + (when current-prefix-arg + (prefix-numeric-value current-prefix-arg)))) + (let ((case-fold-search isearch-case-fold-search)) + ;; (isearch-done) + ;; (isearch-clean-overlays) + (occur regexp nlines))) + (defun isearch-delete-char () "Discard last input item and move point back. -- Juri Linkov http://www.jurta.org/emacs/