From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Romain Francoise Newsgroups: gmane.emacs.devel Subject: Re: Slow access to files using UNC path Date: Sat, 18 Sep 2004 13:53:27 +0200 Organization: orebokech dot com Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: <87u0tveqtk.fsf@orebokech.com> References: <68c73b1a04083122477869f5a@mail.gmail.com> <68c73b1a0409080600626643cf@mail.gmail.com> <68c73b1a040908220473b70936@mail.gmail.com> <68c73b1a04090823245a5d027c@mail.gmail.com> <68c73b1a04091223507210add9@mail.gmail.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1095508454 3527 80.91.229.6 (18 Sep 2004 11:54:14 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 18 Sep 2004 11:54:14 +0000 (UTC) Cc: Emacs-Devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 18 13:54:03 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1C8dn0-00011j-00 for ; Sat, 18 Sep 2004 13:54:02 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C8dsl-0007A3-SW for ged-emacs-devel@m.gmane.org; Sat, 18 Sep 2004 07:59:59 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1C8dsc-00079N-FS for emacs-devel@gnu.org; Sat, 18 Sep 2004 07:59:50 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1C8dsa-00078i-JR for emacs-devel@gnu.org; Sat, 18 Sep 2004 07:59:49 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C8dsa-00078S-An for emacs-devel@gnu.org; Sat, 18 Sep 2004 07:59:48 -0400 Original-Received: from [82.67.41.165] (helo=yeast.orebokech.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1C8dmR-0002wX-VH for emacs-devel@gnu.org; Sat, 18 Sep 2004 07:53:28 -0400 Original-Received: from pacem.orebokech.com (pacem.orebokech.com [192.168.1.3]) by yeast.orebokech.com (Postfix) with ESMTP id AA7D813A51; Sat, 18 Sep 2004 13:48:42 +0200 (CEST) Original-Received: by pacem.orebokech.com (Postfix, from userid 1000) id 4502EB30E5; Sat, 18 Sep 2004 13:53:27 +0200 (CEST) Original-To: Stefan Monnier Mail-Copies-To: nobody Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAElBMVEVfX1/s7Oz////9/f35 +fnLy8vu5l4AAAACE0lEQVR4nHWUQZOzIAyG48zmLm25fyX03hK8V3DvWMv//ysbFKw7O1/sOFMe 3iTEBDBiJD9nfLTWs2EuSwbWt/yLI+CFAk8UD6BsArGT8UW7AxIwoFZ9N6noDq5I0D9Us4IsoukY w3E/a6V6AFSHGER8KYKLBg0wux2wRABRjBr1mgI1QEk26nnUnUpzelEFxAw5zapaWrxxVSEgy9Io TwHsqAItyaiPwklZNlBC7ADOjuMGfAKchVyKK1ELaYo1RAkiZ0HAUNO9ro7G5ivDuYJ+jT3uSE6y gius2Y67ql82xQ3yntOlhOnfYQP4yXVTzPxHUUGLUbOtNrUYpbYlfpNpDPWAfhIrEDCLwRK36pKb 5LlDM2Rby07pbVSCEOwNvgxFNjvAWD7pNQyAXpkYa0keshugM8+lR7hJpWhLl57SCtA503cpwzfM 0dQv2KMsdMYBSjkTLKUzV8Ug/vPJ3QAeaRHATO0LdsZEJwFkCgaUCA1wGQsHcyLjA6/9XtvHseUo LW3Yc164ZmUcld6XXkHzWGLxy5/BYeIBXnzDByC1k4svymdLwU7fMBTQXHHZPX1ZOyW4I7qWruF4 h2UCa0ISRed4nyif0kuDuO7xkV+fUSOG9H7CyckEbUPbgEvwHnKw0nv+MM5ybp1PRBOZBOSPM1jG nizJhi4cFOsYikkJ/On3XVIuAeecXAvEvxV/7L/gBz95n2/T8pCMAAAAAElFTkSuQmCC In-Reply-To: (Stefan Monnier's message of "Mon, 13 Sep 2004 08:39:17 -0400") User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux) 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: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:27224 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:27224 Stefan Monnier writes: > 2004-09-12 Stefan Monnier > * vc-hooks.el (vc-ignore-dir-regexp): New var. > (vc-registered): Use it. > (vc-find-root): New fun. > *************** > *** 315,325 **** > file was previously registered under a certain backend, then that > backend is tried first." > (let (handler) > ! (if (boundp 'file-name-handler-alist) > ! (setq handler (find-file-name-handler file 'vc-registered))) > ! (if handler > ! ;; handler should set vc-backend and return t if registered > ! (funcall handler 'vc-registered file) > ;; There is no file name handler. > ;; Try vc-BACKEND-registered for each handled BACKEND. > (catch 'found > --- 335,347 ---- > file was previously registered under a certain backend, then that > backend is tried first." > (let (handler) > ! (cond > ! ((string-match vc-ignore-dir-regexp (file-name-directory file)) nil) > ! ((and (boundp 'file-name-handler-alist) > ! (setq handler (find-file-name-handler file 'vc-registered))) > ! ;; handler should set vc-backend and return t if registered > ! (funcall handler 'vc-registered file)) > ! (t > ;; There is no file name handler. > ;; Try vc-BACKEND-registered for each handled BACKEND. > (catch 'found This change is problematic for buffers where buffer-file-name is "" (like ERC server buffers in my case), file-name-directory returns nil so string-match signals an error. It makes it impossible to quit Emacs (you need to kill all such buffers manually). How about the following fix? --- orig/lisp/vc-hooks.el +++ mod/lisp/vc-hooks.el @@ -336,7 +336,10 @@ backend is tried first." (let (handler) (cond - ((string-match vc-ignore-dir-regexp (file-name-directory file)) nil) + ((and + (file-name-directory file) + (string-match vc-ignore-dir-regexp (file-name-directory file))) + nil) ((and (boundp 'file-name-handler-alist) (setq handler (find-file-name-handler file 'vc-registered))) ;; handler should set vc-backend and return t if registered -- Romain Francoise | I've become someone else's it's a miracle -- http://orebokech.com/ | nightmare...