From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Politz Newsgroups: gmane.emacs.help Subject: Re: When grep-find, show the count of matches Date: Mon, 28 Jun 2010 20:40:55 +0200 Organization: FH-Trier Message-ID: <874ognj8zs.fsf@fh-trier.de> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1291839518 19652 80.91.229.12 (8 Dec 2010 20:18:38 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 8 Dec 2010 20:18:38 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Dec 08 21:18:34 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PQQT7-0005bP-Eh for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 21:18:29 +0100 Original-Received: from localhost ([127.0.0.1]:36920 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PQQT6-00028Q-OV for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 15:18:28 -0500 Original-Path: usenet.stanford.edu!newsserver.news.garr.it!kanaga.switch.ch!switch.ch!news.belwue.de!news.uni-kl.de!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 54 Original-NNTP-Posting-Host: 143-93-54-11.arno.fh-trier.de Original-X-Trace: news.uni-kl.de 1277750456 24432 143.93.54.11 (28 Jun 2010 18:40:56 GMT) Original-X-Complaints-To: usenet@news.uni-kl.de Original-NNTP-Posting-Date: Mon, 28 Jun 2010 18:40:56 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:2LPio9KxY93C+G9JOAGzu/9kxKs= Cache-Post-Path: arno.fh-trier.de!unknown@dslb-084-059-112-138.pools.arcor-ip.net X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) Original-Xref: usenet.stanford.edu gnu.emacs.help:179304 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:75967 Archived-At: Tim Landscheidt writes: > filebat Mark wrote: > >> Thank you very much, Tim. Sorry for my confusing illustration. > >> You have point a good way to solve my problem. Changing grep-process-setup >> seems don't work, so I change the function of grep-find. > >> One slight problem is that, since the grep command takes some time, even >> though we define an after-defadive, the function is executed before *grep* >> buffer is stable. > >> My workaround is to sleep for some while. No idea whether we have better >> solution. > >> (defadvice grep-find (after show-grep()) >> (save-excursion >> (setq SLEEP_INTERVAL 2) >> (set-buffer "*grep*") >> (sleep-for SLEEP_INTERVAL) >> (message >> "%d matches found" >> (- (count-lines (point-min) (point-max)) 6)) >> ) >> ) >> (ad-activate 'grep-find) >> [...] > > No, you should defadvice *around* grep-process-setup, copy > the whole original from the Emacs distribution, and replace > the lambda construct in: > > | (set (make-local-variable 'compilation-exit-message-function) > | (lambda (status code msg) > | (if (eq status 'exit) > | (cond ((zerop code) > | '("finished (matches found)\n" . "matched")) > | ((= code 1) > | '("finished with no matches found\n" . "no match")) > | (t > | (cons msg code))) > | (cons msg code)))) > > with another that inserts the number of matches into the > buffer. > > Tim Why use a `hack', if there is a defined way of doing these things (`grep-setup-hook') ? -ap