From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Re: Speeding up vc-dired still more Date: Fri, 28 Dec 2007 04:20:06 -0500 Organization: Eric Conspiracy Secret Labs Message-ID: <20071228092006.GB23009@thyrsus.com> References: <20071227145202.8A12A830BC9@snark.thyrsus.com> <200712271927.lBRJRNM3017565@oogie-boogie.ics.uci.edu> <200712272125.lBRLPlo7020948@oogie-boogie.ics.uci.edu> Reply-To: esr@thyrsus.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1198833620 28865 80.91.229.12 (28 Dec 2007 09:20:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 28 Dec 2007 09:20:20 +0000 (UTC) Cc: "Eric S. Raymond" , emacs-devel@gnu.org To: Dan Nicolaescu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 28 10:20:33 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 1J8BOK-0000Kv-Mk for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 10:20:32 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8BNz-0003mQ-BI for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 04:20:11 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J8BNu-0003jz-AC for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:20:06 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J8BNt-0003iy-Mx for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:20:05 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8BNt-0003ig-HZ for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:20:05 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5] helo=snark.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J8BNt-0004Ij-9I for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:20:05 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 23) id D5744830BC9; Fri, 28 Dec 2007 04:20:06 -0500 (EST) Content-Disposition: inline In-Reply-To: <200712272125.lBRLPlo7020948@oogie-boogie.ics.uci.edu> X-Eric-Conspiracy: There is no conspiracy User-Agent: Mutt/1.5.15+20070412 (2007-04-11) X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 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:85536 Archived-At: Dan Nicolaescu : > All those vc-registered calls are generated by calling vc-backend in > vc-dired-hook: > > ;; ordinary file -- call the (possibly expensive) state query > (t > (let ((backend (vc-backend filename))) > (cond > ;; Not registered > ((not backend) I think this tells me that dir-state needs to set a new state value of 'unregistered when it sees status flag "?" (that's the Subversion and Mercurial flag; there may be other local equivalents). That way the backend check wouldn't need to be done on on a per-file basis. This change could be a bit tricky. Right now a nil return from vc-state means the file is unregistered. I don't know how deeply that assumption is wired into the code. -- Eric S. Raymond