From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Introducing 'unrecognized and 'ignored Date: Tue, 01 Jan 2008 21:02:13 -0500 Message-ID: References: <20071228174512.66834830BC9@snark.thyrsus.com> <17EA38DF-BCC1-4565-8510-5DD10DD667E3@mac.com> <20071229114551.GD9794@thyrsus.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1199239351 8841 80.91.229.12 (2 Jan 2008 02:02:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 2 Jan 2008 02:02:31 +0000 (UTC) Cc: "Eric S. Raymond" , emacs-devel@gnu.org, Alexandru Harsanyi To: esr@thyrsus.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 02 03:02:49 2008 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 1J9swN-0006Wd-2b for ged-emacs-devel@m.gmane.org; Wed, 02 Jan 2008 03:02:43 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J9sw1-0006uP-BR for ged-emacs-devel@m.gmane.org; Tue, 01 Jan 2008 21:02:21 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J9svx-0006se-M4 for emacs-devel@gnu.org; Tue, 01 Jan 2008 21:02:17 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J9svv-0006qm-HX for emacs-devel@gnu.org; Tue, 01 Jan 2008 21:02:17 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J9svv-0006qc-E8 for emacs-devel@gnu.org; Tue, 01 Jan 2008 21:02:15 -0500 Original-Received: from ironport2-out.pppoe.ca ([206.248.154.182]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J9svu-0004Mm-V7 for emacs-devel@gnu.org; Tue, 01 Jan 2008 21:02:15 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAKJ/ekfO+IaddGdsb2JhbACQEQEwlWU X-IronPort-AV: E=Sophos;i="4.24,231,1196658000"; d="scan'208";a="12171286" Original-Received: from smtp.pppoe.ca ([65.39.196.238]) by ironport2-out.pppoe.ca with ESMTP; 01 Jan 2008 21:02:14 -0500 Original-Received: from pastel.home ([206.248.134.157]) by smtp.pppoe.ca (Internet Mail Server v1.0) with ESMTP id IDE60913; Tue, 01 Jan 2008 21:02:13 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 3BC9884AE; Tue, 1 Jan 2008 21:02:13 -0500 (EST) In-Reply-To: <20071229114551.GD9794@thyrsus.com> (Eric S. Raymond's message of "Sat, 29 Dec 2007 06:45:51 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. 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:85835 Archived-At: > Then the problem of speeding up vc-dired-hook will reduce to a simpler > one -- how to make the individual directory-status commands in each > VCS return information for as many files as possible? Ideally, we want > them to return status on *all* files beneath the current directory. I disagree. VC should not do any tree traversal itself. It shouldn't "call the backend to do tree traversal to fill some data and then do tree traversal again hoping to only hit files that were already found". Instead, the `dir-state' function should somehow return the list of files found and VC-dired should only display those (at first). By default, I'd suggest that the dir-state function only returns the "interesting files" (the ones that are not just uptodate or ignored). I.e. just present the result of "cvs -n update" rather than try to do something more clever. The user may want to request the output of "cvs status" as well, although in any non-trivial project, this is too long to be of any use, so it needs to be applicable to just a single subdir (or even a single file). Stefan