tramp-devel
[Top][All Lists]
Advanced

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

tramp (2.0.28); Tramp does not properly replace ange-ftp


From: Bruce Tulloch
Subject: tramp (2.0.28); Tramp does not properly replace ange-ftp
Date: Tue, 04 Feb 2003 16:12:17 +1100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020623 Debian/1.0.0-0.woody.1

--text follows this line--

Enter your bug report in this message, including as much detail as you possibly can about the problem, what you did to cause it and what the
local and remote machines are.

If you can give a simple set of instructions to make this bug happen reliably, please include those. Thank you for helping kill bugs in
TRAMP.

Another useful thing to do is to put (setq tramp-debug-buffer t) in the ~/.emacs file and to repeat the bug. Then, include the contents of the *tramp/foo* buffer and the *debug tramp/foo* buffer in your bug
report.

--bug report follows this line--

Tramp does not turn off Ange-Ftp "permanently".

Instead ange-ftp hooks are removed from file-name-handler-alist only to be replaced in this alist (with higher priority than tramp) when
next something else uses an ange-ftp function.

This breaks tramp's control of magic file names.

Upon booting up emacs I have:

file-name-handler-alist's value is
(("\\(\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'\\)\\|\\(\\.bz2\\'\\)\\|\\(\\.tgz\\'\\)\\|\\(\\.gz\\(~\\|\\.~[0-9]+~\\)?\\'\\)" . jka-compr-handler)
 ("\\`/[^/:]+:" . tramp-file-name-handler)
 ("^/[^/:]*\\'" . ange-ftp-completion-hook-function)
 ("^/[^/:]*[^/:.]:" . ange-ftp-hook-function)
 ("\\`/:" . file-name-non-special))

which is fine.

After causing the (auto)loading of tramp (by visiting a remote file) I get:

file-name-handler-alist's value is
(("\\(\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'\\)\\|\\(\\.bz2\\'\\)\\|\\(\\.tgz\\'\\)\\|\\(\\.gz\\(~\\|\\.~[0-9]+~\\)?\\'\\)" . jka-compr-handler)
 ("^/[^/]*$" . tramp-completion-file-name-handler)
 ("\\`/[^/:]+:" . tramp-file-name-handler)
 ("\\`/:" . file-name-non-special))

after using ediff on a couple buffers, ange-ftp functions are called
that seem to (re)load ange-ftp resulting in this:

file-name-handler-alist's value is
(("\\(\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'\\)\\|\\(\\.bz2\\'\\)\\|\\(\\.tgz\\'\\)\\|\\(\\.gz\\(~\\|\\.~[0-9]+~\\)?\\'\\)" . jka-compr-handler)
 ("^/[^/:]*\\'" . ange-ftp-completion-hook-function)
 ("^/[^/:]*[^/:.]:" . ange-ftp-hook-function)
 ("^/[^/]*$" . tramp-completion-file-name-handler)
 ("\\`/[^/:]+:" . tramp-file-name-handler)
 ("\\`/:" . file-name-non-special))

Reloading tramp-ftp is the only way I have found to reset this alist (other than manually). My question is why is it necessary to remove the ange-ftp hooks at all ? Would it not be better just to leave them
in the list _below_ the tramp hooks. How can I do this ?

Emacs  : GNU Emacs 20.7.2 (i386-debian-linux-gnu, X toolkit)
 of Fri Apr  5 2002 on cyberhq modified by Debian
Package: tramp (2.0.28)

current state:
==============
(setq
 tramp-ls-command nil
 tramp-test-groks-nt nil
 tramp-file-exists-command nil
 tramp-current-multi-method nil
 tramp-current-method nil
 tramp-current-user nil
 tramp-current-host nil
 tramp-auto-save-directory nil
 tramp-default-method "ssh"
 tramp-rsh-end-of-line "\n"
 tramp-password-end-of-line "\n"
tramp-remote-path '("/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin" "/usr/ccs/bin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin"
                                         "/usr/pkg/bin" "/usr/contrib/bin")
 tramp-login-prompt-regexp ".*ogin: *"
tramp-password-prompt-regexp "^.*\\([pP]assword\\|passphrase.*\\):




reply via email to

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