summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/net/tramp-sh.el2
-rw-r--r--lisp/net/tramp.el15
2 files changed, 12 insertions, 5 deletions
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 3ba3d956efc..2fb5566a3bf 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -4634,7 +4634,7 @@ Goes through the list `tramp-inline-compress-commands'."
;; host name in their command template. In this case, the remote
;; file name must use either a local host name (first hop), or a
;; host name matching the previous hop.
- (let ((previous-host tramp-local-host-regexp))
+ (let ((previous-host (or tramp-local-host-regexp "")))
(setq choices target-alist)
(while (setq item (pop choices))
(let ((host (tramp-file-name-host item)))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 52ff021c500..5c785b16d89 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -428,13 +428,19 @@ host runs a registered shell, it shall be added to this list, too."
:require 'tramp)
;;;###tramp-autoload
-(defconst tramp-local-host-regexp
+(defcustom tramp-local-host-regexp
(concat
"\\`"
(regexp-opt
(list "localhost" "localhost6" (system-name) "127.0.0.1" "::1") t)
"\\'")
- "Host names which are regarded as local host.")
+ "Host names which are regarded as local host.
+If the local host runs a chrooted environment, set this to nil."
+ :version "27.1"
+ :group 'tramp
+ :type '(choice (const :tag "Chrooted environment" nil)
+ (regexp :tag "Host regexp"))
+ :require 'tramp)
(defvar tramp-completion-function-alist nil
"Alist of methods for remote files.
@@ -4239,11 +4245,12 @@ be granted."
;;;###tramp-autoload
(defun tramp-local-host-p (vec)
- "Return t if this points to the local host, nil otherwise."
+ "Return t if this points to the local host, nil otherwise.
+This handles also chrooted environments, which are not regarded as local."
(let ((host (tramp-file-name-host vec))
(port (tramp-file-name-port vec)))
(and
- (stringp host)
+ (stringp tramp-local-host-regexp) (stringp host)
(string-match tramp-local-host-regexp host)
;; A port is an indication for an ssh tunnel or alike.
(null port)