[EMAIL PROTECTED] writes:

> I have this directory listing in dired:
>
>     /[EMAIL PROTECTED]:/app/lsidsp02/cronusprod:
>     total 1040
>     [...]
>     drwxrwxr-x   3 cronusprod cronus       512 Sep 11  2002 data
>     [...]
>     lrwxrwxrwx   1 cronusprod cronus        11 Mar 28 11:33 var -> data/idcnae
>     lrwxrwxrwx   1 cronusprod cronus        13 Mar 28 11:31 var- -> ./data/idcnae
>     lrwxrwxrwx   1 cronusprod cronus        36 Jul  4  2002 var-- -> 
> /app/lsidsp02/cronusprod/data/idcnae
>
> This is a part of the customization buffer for tramp-default-method-alist:
>
>     Tramp Default Method Alist: Hide
>     INS DEL List:
>                 Host regexp: lsidsp02.str.allianz
>                 User regexp: cronusprod
>                 Method: ftp
>
> If I try to visit var or var- or var--, I always get this,
> and I did not have this problem when using old ftp-ange:
>
>     dired-find-file: File is a symlink to a nonexistent target

Before Michael's fix, I also got that.  But now I get something weird
instead.

This directory listing:

  /ftp:[EMAIL PROTECTED]:/home/kai/tmp/ange-ftp-test:
  total 8
  drwxrwx---    2 kai      kai          4096 Mar 31 23:09 .
  drwxrwx---    5 kai      kai          4096 Mar 31 23:02 ..
  lrwxrwxrwx    1 kai      kai             7 Mar 31 23:02 x -> ../auto
  lrwxrwxrwx    1 kai      kai             4 Mar 31 23:03 y -> /tmp
  lrwxrwxrwx    1 kai      kai             4 Mar 31 23:05 y- -> /tmp
  lrwxrwxrwx    1 kai      kai             4 Mar 31 23:05 y-- -> /tmp
  lrwxrwxrwx    1 kai      kai            11 Mar 31 23:09 z -> /tmp/kaifoo

Then I hit `f' on the `z' line.  Then I get a prompt for "passwd for
[EMAIL PROTECTED]"!

Using debug-on-quit and hitting C-g at that spot shows that
something got really confused: Emacs is thinking the name is
different than it should be.  It's constructing user kai at host ftp
from the name /ftp:[EMAIL PROTECTED]:/home...

It seems that ange-ftp-name-format has the right value, though.

What's going on?

I traced it with edebug, but couldn't find anything.  These functions
are invoked so _often_, I can't make out which is the important
function call.

Debugger entered--Lisp error: (quit)
  read-passwd("passwd for [EMAIL PROTECTED] (default same as [EMAIL PROTECTED]): " nil 
"**CENSORED**")
  (if other (read-passwd (format "passwd for [EMAIL PROTECTED] (default same as [EMAIL 
PROTECTED]): " user host user other) nil (ange-ftp-lookup-passwd other user)) 
(read-passwd (format "Password for [EMAIL PROTECTED]: " user host)))
  (let* ((other ...) (passwd ...)) (ange-ftp-set-passwd host user passwd) passwd)
  (cond ((ange-ftp-lookup-passwd host user)) ((and ... ange-ftp-default-password ...) 
ange-ftp-default-password) ((and ... ange-ftp-netrc-default-password ...) 
ange-ftp-netrc-default-password) ((and ... ange-ftp-generate-anonymous-password) (if 
... ange-ftp-generate-anonymous-password user-mail-address)) (t (let* ... ... passwd)))
  ange-ftp-get-passwd("ftp" "kai")
  (ange-ftp-quote-string (ange-ftp-get-passwd host user))
  (let ((pass ...) (account ...)) (setq proc (ange-ftp-start-process host user name)) 
(if (and ... ange-ftp-gateway-host) (ange-ftp-smart-login host user pass account proc) 
(ange-ftp-normal-login host user pass account proc)) (ange-ftp-guess-hash-mark-size 
proc) (ange-ftp-guess-host-type host user) (let* (... ...) (if passive ...)) (let (... 
...) (run-hooks ...)))
  (if (and proc (memq ... ...)) proc (if proc (delete-process proc)) (let (... ...) 
(setq proc ...) (if ... ... ...) (ange-ftp-guess-hash-mark-size proc) 
(ange-ftp-guess-host-type host user) (let* ... ...) (let ... ...)) proc)
  (let* ((name ...) (proc ...)) (if (and proc ...) proc (if proc ...) (let ... ... ... 
... ... ... ...) proc))
  ange-ftp-get-process("ftp" "kai")
  (and user (ange-ftp-get-process host user) (eq host ange-ftp-host-cache))
  (cond ((null host) (quote unix)) ((eq host ange-ftp-host-cache) 
ange-ftp-host-type-cache) ((and user ... ...) ange-ftp-host-type-cache) (t (setq 
ange-ftp-host-cache host ange-ftp-host-type-cache ...)))
  ange-ftp-host-type("ftp" "kai")
  (let* ((host-type ...) (fix-name-func ...) (key ...) (res ...)) (or res (progn ... 
... ... res)))
  ange-ftp-expand-dir("ftp" "kai" "~")
  (let ((dir ...)) (if dir (setq name ...) (error "Unable to obtain CWD")))
  (cond ((string-match "^/" name) name) ((string-match "^~[^/]*" name) (let* ... ...)) 
(t (let ... ...)))
  (let ((host ...) (user ...) (name ...)) (cond (... name) (... ...) (t ...)) (if (not 
...) (progn ... ...)) (ange-ftp-replace-name-component n name))
  (if parsed (let (... ... ...) (cond ... ... ...) (if ... ...) 
(ange-ftp-replace-name-component n name)) (if (eq ... 47) 
(ange-ftp-real-expand-file-name n) (ange-ftp-real-expand-file-name ... ...)))
  (let ((parsed ...)) (if parsed (let ... ... ... ...) (if ... ... ...)))
  ange-ftp-canonize-filename("/ftp:[EMAIL PROTECTED]:/home/kai/tmp/ange-ftp-test/z")
  (cond ((eq ... 126) (ange-ftp-real-expand-file-name name)) ((eq ... 47) 
(ange-ftp-canonize-filename name)) ((and ... ...) (ange-ftp-canonize-filename name)) 
((and ... ...) (ange-ftp-real-expand-file-name name default)) ((zerop ...) 
(ange-ftp-canonize-filename default)) ((ange-ftp-canonize-filename ...)))
  (progn (setq default (or default default-directory)) (cond (... ...) (... ...) (... 
...) (... ...) (... ...) (...)))
  (unwind-protect (progn (setq default ...) (cond ... ... ... ... ... ...)) 
(set-match-data save-match-data-internal))
  (let ((save-match-data-internal ...)) (unwind-protect (progn ... ...) 
(set-match-data save-match-data-internal)))
  (save-match-data (setq default (or default default-directory)) (cond (... ...) (... 
...) (... ...) (... ...) (... ...) (...)))
  ange-ftp-expand-file-name("/ftp:[EMAIL PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil)
  apply(ange-ftp-expand-file-name ("/ftp:[EMAIL 
PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil))
  (progn (apply fn args))
  (unwind-protect (progn (apply fn args)) (set-match-data save-match-data-internal))
  (let ((save-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data 
save-match-data-internal)))
  (save-match-data (apply fn args))
  (if fn (save-match-data (apply fn args)) (ange-ftp-run-real-handler operation args))
  (let ((fn ...)) (if fn (save-match-data ...) (ange-ftp-run-real-handler operation 
args)))
  ange-ftp-hook-function(expand-file-name "/ftp:[EMAIL 
PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil)
  apply(ange-ftp-hook-function expand-file-name ("/ftp:[EMAIL 
PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil))
  (let* ((inhibit-file-name-handlers ...) (inhibit-file-name-operation operation)) 
(apply (quote ange-ftp-hook-function) operation args))
  (cond ((and ... ...) (apply ... operation args)) (t (let* ... ...)))
  (let ((ange-ftp-name-format ...)) (cond (... ...) (t ...)))
  (progn (or (boundp ...) (require ...)) (let (...) (cond ... ...)))
  (unwind-protect (progn (or ... ...) (let ... ...)) (set-match-data 
save-match-data-internal))
  (let ((save-match-data-internal ...)) (unwind-protect (progn ... ...) 
(set-match-data save-match-data-internal)))
  (save-match-data (or (boundp ...) (require ...)) (let (...) (cond ... ...)))
  tramp-ftp-file-name-handler(expand-file-name "/ftp:[EMAIL 
PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil)
  apply(tramp-ftp-file-name-handler expand-file-name ("/ftp:[EMAIL 
PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil))
  (cond (foreign (apply foreign operation args)) (fn (apply ... args)) (t 
(tramp-run-real-handler operation args)))
  (let* ((fn ...) (filename ...) (foreign ...)) (cond (foreign ...) (fn ...) (t ...)))
  (progn (let* (... ... ...) (cond ... ... ...)))
  (unwind-protect (progn (let* ... ...)) (set-match-data save-match-data-internal))
  (let ((save-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data 
save-match-data-internal)))
  (save-match-data (let* (... ... ...) (cond ... ... ...)))
  tramp-file-name-handler(expand-file-name "/ftp:[EMAIL 
PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil)
  expand-file-name("/ftp:[EMAIL PROTECTED]:/home/kai/tmp/ange-ftp-test/z")
  recentf-add-file("/ftp:[EMAIL PROTECTED]:/home/kai/tmp/ange-ftp-test/z")
  recentf-add-file-hook()
  run-hooks(find-file-hook)
  after-find-file(nil t)
  find-file-noselect-1(#<buffer z> "/ftp:[EMAIL 
PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil nil "/ftp:[EMAIL 
PROTECTED]:/home/kai/tmp/ange-ftp-test/z" (2 -1))
  find-file-noselect("/ftp:[EMAIL PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil nil 
nil)
  ad-Orig-find-file("/ftp:[EMAIL PROTECTED]:/home/kai/tmp/ange-ftp-test/z" nil)
  (setq ad-return-value (ad-Orig-find-file filename wildcards))
  (let (ad-return-value) (setq ad-return-value (ad-Orig-find-file filename wildcards)) 
ad-return-value)
  find-file("/ftp:[EMAIL PROTECTED]:/home/kai/tmp/ange-ftp-test/z")
  dired-find-file()
  call-interactively(dired-find-file)

-- 
A preposition is not a good thing to end a sentence with.


_______________________________________________
Tramp-devel mailing list
[EMAIL PROTECTED]
http://mail.nongnu.org/mailman/listinfo/tramp-devel

Reply via email to