diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/net/tramp-gvfs.el | 2 | ||||
-rw-r--r-- | lisp/net/tramp-rclone.el | 2 | ||||
-rw-r--r-- | lisp/net/tramp-sh.el | 12 | ||||
-rw-r--r-- | lisp/net/tramp-smb.el | 12 | ||||
-rw-r--r-- | lisp/net/tramp-sudoedit.el | 14 | ||||
-rw-r--r-- | lisp/net/tramp.el | 22 |
6 files changed, 39 insertions, 25 deletions
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 38102318240..17c2e79833b 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el @@ -1765,7 +1765,7 @@ connection if a previous connection has died for some reason." ;; better solution? (unless (get-buffer-process (tramp-get-connection-buffer vec)) (let ((p (make-network-process - :name (tramp-buffer-name vec) + :name (tramp-get-connection-name vec) :buffer (tramp-get-connection-buffer vec) :server t :host 'local :service t :noquery t))) (process-put p 'vector vec) diff --git a/lisp/net/tramp-rclone.el b/lisp/net/tramp-rclone.el index 0148116d739..9e99493cbf6 100644 --- a/lisp/net/tramp-rclone.el +++ b/lisp/net/tramp-rclone.el @@ -543,7 +543,7 @@ connection if a previous connection has died for some reason." ;; we create a dummy process. Maybe there is a better solution? (unless (get-buffer-process (tramp-get-connection-buffer vec)) (let ((p (make-network-process - :name (tramp-buffer-name vec) + :name (tramp-get-connection-name vec) :buffer (tramp-get-connection-buffer vec) :server t :host 'local :service t :noquery t))) (process-put p 'vector vec) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 2d27baf454a..34fda5af176 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -1027,11 +1027,13 @@ component is used as the target of the symlink." (with-parsed-tramp-file-name linkname nil ;; If TARGET is a Tramp name, use just the localname component. - (when (and (tramp-tramp-file-p target) - (tramp-file-name-equal-p v (tramp-dissect-file-name target))) - (setq target - (tramp-file-name-localname - (tramp-dissect-file-name (expand-file-name target))))) + ;; Don't check for a proper method. + (let ((non-essential t)) + (when (and (tramp-tramp-file-p target) + (tramp-file-name-equal-p v (tramp-dissect-file-name target))) + (setq target + (tramp-file-name-localname + (tramp-dissect-file-name (expand-file-name target)))))) ;; If TARGET is still remote, quote it. (if (tramp-tramp-file-p target) diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 9d15c0562bf..84725db2168 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -1161,11 +1161,13 @@ component is used as the target of the symlink." (with-parsed-tramp-file-name linkname nil ;; If TARGET is a Tramp name, use just the localname component. - (when (and (tramp-tramp-file-p target) - (tramp-file-name-equal-p v (tramp-dissect-file-name target))) - (setq target - (tramp-file-name-localname - (tramp-dissect-file-name (expand-file-name target))))) + ;; Don't check for a proper method. + (let ((non-essential t)) + (when (and (tramp-tramp-file-p target) + (tramp-file-name-equal-p v (tramp-dissect-file-name target))) + (setq target + (tramp-file-name-localname + (tramp-dissect-file-name (expand-file-name target)))))) ;; If TARGET is still remote, quote it. (if (tramp-tramp-file-p target) diff --git a/lisp/net/tramp-sudoedit.el b/lisp/net/tramp-sudoedit.el index 0d9e04d0bd1..f056e73366e 100644 --- a/lisp/net/tramp-sudoedit.el +++ b/lisp/net/tramp-sudoedit.el @@ -607,11 +607,13 @@ component is used as the target of the symlink." (with-parsed-tramp-file-name linkname nil ;; If TARGET is a Tramp name, use just the localname component. - (when (and (tramp-tramp-file-p target) - (tramp-file-name-equal-p v (tramp-dissect-file-name target))) - (setq target - (tramp-file-name-localname - (tramp-dissect-file-name (expand-file-name target))))) + ;; Don't check for a proper method. + (let ((non-essential t)) + (when (and (tramp-tramp-file-p target) + (tramp-file-name-equal-p v (tramp-dissect-file-name target))) + (setq target + (tramp-file-name-localname + (tramp-dissect-file-name (expand-file-name target)))))) ;; If TARGET is still remote, quote it. (if (tramp-tramp-file-p target) @@ -780,7 +782,7 @@ connection if a previous connection has died for some reason." (throw 'non-essential 'non-essential)) (let ((p (make-network-process - :name (tramp-buffer-name vec) + :name (tramp-get-connection-name vec) :buffer (tramp-get-connection-buffer vec) :server t :host 'local :service t :noquery t))) (process-put p 'vector vec) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index a2558184fb4..f6dd6b5866d 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -1435,6 +1435,12 @@ default values are used." (setq v (make-tramp-file-name :method method :user user :domain domain :host host :port port :localname localname :hop hop)) + ;; The method must be known. + (unless (or (tramp-completion-mode-p) + (string-equal method tramp-default-method-marker) + (assoc method tramp-methods)) + (tramp-user-error + v "Method `%s' is not known." method)) ;; Only some methods from tramp-sh.el do support multi-hops. (when (and hop @@ -2175,17 +2181,16 @@ Must be handled by the callers." (if (file-name-absolute-p (nth 0 args)) (nth 0 args) default-directory)) + ;; STRING FILE. + ;; Starting with Emacs 26.1, just the 2nd argument of + ;; `make-symbolic-link' matters. + ((eq operation 'make-symbolic-link) (nth 1 args)) ;; FILE DIRECTORY resp FILE1 FILE2. ((member operation '(add-name-to-file copy-directory copy-file file-equal-p file-in-directory-p file-name-all-completions file-name-completion - ;; Starting with Emacs 26.1, just the 2nd argument of - ;; `make-symbolic-link' matters. For backward - ;; compatibility, we still accept the first argument as - ;; file name to be checked. Handled properly in - ;; `tramp-handle-*-make-symbolic-link'. - file-newer-than-file-p make-symbolic-link rename-file)) + file-newer-than-file-p rename-file)) (cond ((tramp-tramp-file-p (nth 0 args)) (nth 0 args)) ((tramp-tramp-file-p (nth 1 args)) (nth 1 args)) @@ -2280,7 +2285,10 @@ preventing reentrant calls of Tramp.") (defun tramp-file-name-handler (operation &rest args) "Invoke Tramp file name handler. Falls back to normal file name handler if no Tramp file name handler exists." - (let ((filename (apply #'tramp-file-name-for-operation operation args))) + (let ((filename (apply #'tramp-file-name-for-operation operation args)) + ;; `file-remote-p' is called for everything, even for symbolic + ;; links which look remote. We don't want to get an error. + (non-essential (or non-essential (eq operation 'file-remote-p)))) (if (tramp-tramp-file-p filename) (save-match-data (setq filename (tramp-replace-environment-variables filename)) |