]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix Bug#44481
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 21 Nov 2020 15:00:17 +0000 (16:00 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 21 Nov 2020 15:00:17 +0000 (16:00 +0100)
* lisp/net/tramp.el (tramp-system-name): New defconst.
(tramp-default-host, tramp-restricted-shell-hosts-alist)
(tramp-local-host-regexp):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.  (Bug#44481)

lisp/net/tramp-sh.el
lisp/net/tramp.el

index 4dca040aebb238a15691acc0f65ddb7666ded590..a70d3aaf84699fe2badc8adc45cdecd0294b85d2 100644 (file)
@@ -5022,7 +5022,7 @@ connection if a previous connection has died for some reason."
              (setenv "PS1" tramp-initial-end-of-output)
               (unless (stringp tramp-encoding-shell)
                 (tramp-error vec 'file-error "`tramp-encoding-shell' not set"))
-             (let* ((current-host (system-name))
+             (let* ((current-host tramp-system-name)
                     (target-alist (tramp-compute-multi-hops vec))
                     ;; We will apply `tramp-ssh-controlmaster-options'
                     ;; only for the first hop.
index 08bc0ffdd7db43c94bfe81a797c0fa2738360863..5a08fa8933938b05e91d4e75803a6de0fdcff4c7 100644 (file)
@@ -173,6 +173,12 @@ See the variable `tramp-encoding-shell' for more information."
   :version "24.1"
   :type '(choice (const nil) string))
 
+;; Since Emacs 26.1, `system-name' can return `nil' at build time if
+;; Emacs is compiled with "--no-build-details".  We do expect it to be
+;; a string.  (Bug#44481)
+(defconst tramp-system-name (or (system-name) "")
+  "The system name Tramp is running locally.")
+
 (defvar tramp-methods nil
   "Alist of methods for remote files.
 This is a list of entries of the form (NAME PARAM1 PARAM2 ...).
@@ -410,7 +416,7 @@ empty string for the method name."
                       (choice :tag "  Host regexp" regexp sexp)
                       (choice :tag "    User name" string (const nil)))))
 
-(defcustom tramp-default-host (system-name)
+(defcustom tramp-default-host tramp-system-name
   "Default host to use for transferring files.
 Useful for su and sudo methods mostly."
   :type 'string)
@@ -465,8 +471,8 @@ interpreted as a regular expression which always matches."
 (defcustom tramp-restricted-shell-hosts-alist
   (when (memq system-type '(windows-nt))
     (list (format "\\`\\(%s\\|%s\\)\\'"
-                 (regexp-quote (downcase (system-name)))
-                 (regexp-quote (upcase (system-name))))))
+                 (regexp-quote (downcase tramp-system-name))
+                 (regexp-quote (upcase tramp-system-name)))))
   "List of hosts, which run a restricted shell.
 This is a list of regular expressions, which denote hosts running
 a restricted shell like \"rbash\".  Those hosts can be used as
@@ -479,7 +485,7 @@ host runs a restricted shell, it shall be added to this list, too."
   (concat
    "\\`"
    (regexp-opt
-    (list "localhost" "localhost6" (system-name) "127.0.0.1" "::1") t)
+    (list "localhost" "localhost6" tramp-system-name "127.0.0.1" "::1") t)
    "\\'")
   "Host names which are regarded as local host.
 If the local host runs a chrooted environment, set this to nil."