From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.help Subject: Re: Convenient way to set "root of my project"? Date: Wed, 28 Jan 2009 08:49:51 +0100 Message-ID: <87r62neuow.fsf@tux.homenetwork> References: <43f72653-1412-4402-8074-ef5302ab07a0@35g2000pry.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1233129427 31249 80.91.229.12 (28 Jan 2009 07:57:07 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Jan 2009 07:57:07 +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 Jan 28 08:58:20 2009 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.50) id 1LS5JR-0003sZ-5T for geh-help-gnu-emacs@m.gmane.org; Wed, 28 Jan 2009 08:58:17 +0100 Original-Received: from localhost ([127.0.0.1]:39539 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LS5I9-0002WY-7K for geh-help-gnu-emacs@m.gmane.org; Wed, 28 Jan 2009 02:56:57 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LS5Hn-0002W2-90 for help-gnu-emacs@gnu.org; Wed, 28 Jan 2009 02:56:35 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LS5Hl-0002Ve-SN for help-gnu-emacs@gnu.org; Wed, 28 Jan 2009 02:56:34 -0500 Original-Received: from [199.232.76.173] (port=39185 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LS5Hl-0002Vb-Kd for help-gnu-emacs@gnu.org; Wed, 28 Jan 2009 02:56:33 -0500 Original-Received: from mx20.gnu.org ([199.232.41.8]:58266) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LS5Hl-0003Oq-6g for help-gnu-emacs@gnu.org; Wed, 28 Jan 2009 02:56:33 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LS5Hk-00031Z-C3 for help-gnu-emacs@gnu.org; Wed, 28 Jan 2009 02:56:32 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1LS5Hg-0006Qe-2q for help-gnu-emacs@gnu.org; Wed, 28 Jan 2009 07:56:28 +0000 Original-Received: from 137.77.197-77.rev.gaoland.net ([77.197.77.137]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 28 Jan 2009 07:56:28 +0000 Original-Received: from thierry.volpiatto by 137.77.197-77.rev.gaoland.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 28 Jan 2009 07:56:28 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 46 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 137.77.197-77.rev.gaoland.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) Cancel-Lock: sha1:/oaTuLshWzfNjYZ8bEaMEammu+E= X-detected-kernel: by mx20.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) 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:61716 Archived-At: Brett Hoerner writes: > I'd like for commands like "grep" and "find file" to open at the root > of my "project" (I know emacs has no knowledge of projects). Does > anyone do / use something similar? > > For example, I'm in /foo/bar/blah/doo/woo/file and I M-x grep, it's > based in /foo/bar/blah/doo/woo/ and I don't want to take the time to > change the path every time - 99% of the time I want to search my > current project (let's say /foo) for something. Ditto for find-file, > changes are the file I want isn't in /foo/bar/blah/doo/woo/, but > somewhere further up the tree (and down another branch), I'd love to > start at /foo. > > Ideas? Or maybe I'm using both of these wrong and someone can tell me > the proper emacs-foo? You have to use the appropriate tool to do a recursive search For grep it's the -r option. Search the word "defun" in all my elisp dirs and subdirs: ,---- | (diredp-do-grep "grep -nHr -e defun /home/thierry/elisp/icicles") `---- ==> 2 mn 11 But you can use more convenient tool like traverselisp.el. M-x traverse-deep-rfind RET /home/thierry/elisp/icicles RET defun RET .el ==> 37 s Faster but traverse is set to ignore all .hg, .svn etc... You can set that as you want. (for files also) Here it search only on .el files. traverselisp is on emacswiki at: http://www.emacswiki.org/cgi-bin/emacs/traverselisp.el or hg clone http://freehg.org/u/thiedlecques/traverselisp/ -- A + Thierry Volpiatto Location: Saint-Cyr-Sur-Mer - France