changeset 85089:8fb95bcda144

* 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.
author Michael Albinus <michael.albinus@gmx.de>
date Mon, 08 Oct 2007 20:07:16 +0000
parents f3b4c3cf62f0
children c8e66f35aef2
files lisp/ChangeLog lisp/net/tramp.el
diffstat 2 files changed, 22 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- 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  <michael.albinus@gmx.de>
+
+	* 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  <lekktu@gmail.com>
 
 	* follow.el (follow-mode): Don't run hooks twice.  Use `when'.
--- 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))))