diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 85330e98aa..34438bd276 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2322,6 +2322,9 @@ tramp-locker (defun tramp-file-name-handler (operation &rest args) "Invoke Tramp file name handler for OPERATION and ARGS. Fall back to normal file name handler if no Tramp file name handler exists." + (if (and (eq operation 'file-remote-p) + (eq (cadr args) 'localname)) + (tramp-file-local-name (car 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. @@ -2415,7 +2418,7 @@ tramp-file-name-handler ;; When `tramp-mode' is not enabled, or the file name is quoted, ;; we don't do anything. - (tramp-run-real-handler operation args)))) + (tramp-run-real-handler operation args))))) (defun tramp-completion-file-name-handler (operation &rest args) "Invoke Tramp file name completion handler for OPERATION and ARGS.