emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: find-directory-p always returns nil in locate-mode on windows xp


From: Luc Teirlinck
Subject: Re: find-directory-p always returns nil in locate-mode on windows xp
Date: Fri, 28 May 2004 14:32:25 -0500 (CDT)

Pete Lee wrote:

   Kai,

   Do you have any ideas why 'V' would fail in locate-mode if tramp has
   been loaded?

You said before that this was because:

(file-directory-p "d:/cygwin/usr/share/doc/antiword-0.34/")

returned nil, while the directory actually existed.
file-directory-p calls expand-file-name.

On GNU/Linux after loading tramp we get:

file-name-handler-alist's value is 
(("^/[^/]*$" . tramp-completion-file-name-handler)
 ("\\`/[^/:]+:" . tramp-file-name-handler)
 ("\\`/:" . file-name-non-special))

Only the first line was added by loading Tramp.  I would be surprised
if Tramp tried to handle file-directory-p or expand-file-name for a
local file on MS Windows.  (It certainly does not on GNU/Linux.)

So the net result of loading Tramp is that the folowing code gets
executed:

(defun tramp-completion-run-real-handler (operation args)
  "Invoke `tramp-file-name-handler' for OPERATION.
First arg specifies the OPERATION, second arg is a list of arguments to
pass to the OPERATION."
  (let* ((inhibit-file-name-handlers
    `(tramp-completion-file-name-handler
        cygwin-mount-name-hook-function
            cygwin-mount-map-drive-hook-function
                .
                    ,(and (eq inhibit-file-name-operation operation)
                            inhibit-file-name-handlers)))
                             (inhibit-file-name-operation operation))
    (apply operation args)))

On GNU/Linux this means that loading tramp will not make a difference,
because the last line just executes the usual code.

But note the disabling of cygwin-mount-name-hook-function and
cygwin-mount-map-drive-hook-function during the calls to
file-directory-p and expand-file-name. 

I can not check, but could this be relevant?  It is the only
difference I can think of that loading Tramp could make.

Sincerely,

Luc.

  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]