# HG changeset patch # User Michael Albinus # Date 1191874036 0 # Node ID 8fb95bcda144e03b589259f64e6cc61ab8644616 # Parent f3b4c3cf62f0468bc2d87482f2085b8ebb1ad51b * net/tramp.el (tramp-find-foreign-file-name-handler): Check also host. (tramp-maybe-send-script): Apply `member' but `memq'. (tramp-advice-file-expand-wildcards): Simplify implementation. diff -r f3b4c3cf62f0 -r 8fb95bcda144 lisp/ChangeLog --- a/lisp/ChangeLog Mon Oct 08 16:14:23 2007 +0000 +++ b/lisp/ChangeLog Mon Oct 08 20:07:16 2007 +0000 @@ -1,3 +1,10 @@ +2007-10-08 Michael Albinus + + * net/tramp.el (tramp-find-foreign-file-name-handler): Check also + host. + (tramp-maybe-send-script): Apply `member' but `memq'. + (tramp-advice-file-expand-wildcards): Simplify implementation. + 2007-10-08 Juanma Barranquero * follow.el (follow-mode): Don't run hooks twice. Use `when'. diff -r f3b4c3cf62f0 -r 8fb95bcda144 lisp/net/tramp.el --- a/lisp/net/tramp.el Mon Oct 08 16:14:23 2007 +0000 +++ b/lisp/net/tramp.el Mon Oct 08 20:07:16 2007 +0000 @@ -2140,9 +2140,9 @@ ;; If FILENAME is a Tramp name, use just the localname component. (when (tramp-tramp-file-p filename) - (setq filename (tramp-file-name-localname - (tramp-dissect-file-name - (expand-file-name filename))))) + (setq filename + (tramp-file-name-localname + (tramp-dissect-file-name (expand-file-name filename))))) ;; Right, they are on the same host, regardless of user, method, etc. ;; We now make the link on the remote machine. This will occur as the user @@ -4352,6 +4352,9 @@ ;; When we are not fully sure that filename completion is safe, ;; we should not return a handler. (when (or (tramp-file-name-method v) (tramp-file-name-user v) + (and (tramp-file-name-host v) + (not (member (tramp-file-name-host v) + (mapcar 'car tramp-methods)))) (not (tramp-completion-mode-p))) (while handler (setq elt (car handler) @@ -5116,7 +5119,7 @@ Only send the definition if it has not already been done." (let* ((p (tramp-get-connection-process vec)) (scripts (tramp-get-connection-property p "scripts" nil))) - (unless (memq name scripts) + (unless (member name scripts) (tramp-message vec 5 "Sending script `%s'..." name) ;; The script could contain a call of Perl. This is masked with `%s'. (tramp-send-command-and-check @@ -7193,19 +7196,19 @@ ;; CCC: This check is now also really awful; we should search all ;; of the filename format, not just the prefix. (when (string-match "\\[" tramp-prefix-format) - (defadvice file-expand-wildcards (around tramp-fix activate) + (defadvice file-expand-wildcards + (around tramp-advice-file-expand-wildcards activate) (let ((name (ad-get-arg 0))) (if (tramp-tramp-file-p name) ;; If it's a Tramp file, dissect it and look if wildcards ;; need to be expanded at all. - (let ((v (tramp-dissect-file-name name))) - (if (string-match "[[*?]" (tramp-file-name-localname v)) - (let ((res ad-do-it)) - (setq ad-return-value (or res (list name)))) - (setq ad-return-value (list name)))) + (if (string-match + "[[*?]" + (tramp-file-name-localname (tramp-dissect-file-name name))) + (setq ad-return-value (or ad-do-it (list name))) + (setq ad-return-value (list name))) ;; If it is not a Tramp file, just run the original function. - (let ((res ad-do-it)) - (setq ad-return-value (or res (list name))))))) + (setq ad-return-value (or ad-do-it (list name)))))) (add-hook 'tramp-unload-hook '(lambda () (ad-unadvise 'file-expand-wildcards))))