]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix Bug#27315
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 14 Jun 2017 12:17:22 +0000 (14:17 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 14 Jun 2017 12:17:22 +0000 (14:17 +0200)
* lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
New defvar.
(top): Use it.

* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
Check for connected, not for connectable.  (Bug#27315)
(tramp-process-actions):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
Use `tramp-cache-read-persistent-data'.

* test/lisp/net/tramp-tests.el (top): Set also
`tramp-cache-read-persistent-data'.

lisp/net/tramp-cache.el
lisp/net/tramp-gvfs.el
lisp/net/tramp.el
test/lisp/net/tramp-tests.el

index 415cde2fc8a87fdb89e8da7f45d3e8064cb2e5c4..ac5a9c45bbd5fb1aa845674644be742848a3e5bd 100644 (file)
@@ -429,14 +429,16 @@ for all methods.  Resulting data are derived from connection history."
      tramp-cache-data)
     res))
 
+;; When "emacs -Q" has been called, both variables are nil.  We do not
+;; load the persistency file then, in order to have a clean test environment.
+;;;###tramp-autoload
+(defvar tramp-cache-read-persistent-data (or init-file-user site-run-file)
+  "Whether to read persistent data at startup time.")
+
 ;; Read persistent connection history.
 (when (and (stringp tramp-persistency-file-name)
           (zerop (hash-table-count tramp-cache-data))
-          ;; When "emacs -Q" has been called, both variables are nil.
-          ;; We do not load the persistency file then, in order to
-          ;; have a clean test environment.
-          (or init-file-user
-              site-run-file))
+          tramp-cache-read-persistent-data)
   (condition-case err
       (with-temp-buffer
        (insert-file-contents tramp-persistency-file-name)
index 859809c00a84e1c0f042f1aeb721b678ab371a39..4c750df3c40627a26d1d6d1a805828db2efe76b9 100644 (file)
@@ -1669,10 +1669,10 @@ connection if a previous connection has died for some reason."
            (format "Opening connection for %s@%s using %s" user host method))
 
        ;; Enable `auth-source'.
-       (tramp-set-connection-property vec "first-password-request" t)
+       (tramp-set-connection-property
+        vec "first-password-request" tramp-cache-read-persistent-data)
 
-       ;; There will be a callback of "askPassword" when a password is
-       ;; needed.
+       ;; There will be a callback of "askPassword" when a password is needed.
        (dbus-register-method
         :session dbus-service-emacs object-path
         tramp-gvfs-interface-mountoperation "askPassword"
@@ -1693,7 +1693,7 @@ connection if a previous connection has died for some reason."
         'tramp-gvfs-handler-askquestion)
 
        ;; The call must be asynchronously, because of the "askPassword"
-       ;; or "askQuestion"callbacks.
+       ;; or "askQuestion" callbacks.
        (if (string-match "(so)$" tramp-gvfs-mountlocation-signature)
            (with-tramp-dbus-call-method vec nil
              :session tramp-gvfs-service-daemon tramp-gvfs-path-mounttracker
index 5bedc383d86b938f1b1f065e595a6e8b8d3c7193..e329f921e03c53d77e542da558a1ec4552a685a2 100644 (file)
@@ -2876,11 +2876,10 @@ User is always nil."
      (tramp-get-method-parameter v 'tramp-case-insensitive)
 
      ;; There isn't. So we must check, in case there's a connection already.
-     (and (tramp-connectable-p filename)
+     (and (file-remote-p filename nil 'connected)
           (with-tramp-connection-property v "case-insensitive"
            (ignore-errors
              (with-tramp-progress-reporter v 5 "Checking case-insensitive"
-                (tramp-backtrace v)
                ;; The idea is to compare a file with lower case
                ;; letters with the same file with upper case letters.
                (let ((candidate
@@ -3551,14 +3550,14 @@ The terminal type can be configured with `tramp-terminal-type'."
 PROC and VEC indicate the remote connection to be used.  POS, if
 set, is the starting point of the region to be deleted in the
 connection buffer."
-  ;; Enable `auth-source'.  We must use `tramp-current-*' variables in
-  ;; case we have several hops.
+  ;; Enable `auth-source', unless "emacs -Q" has been called.  We must
+  ;; use `tramp-current-*' variables in case we have several hops.
   (tramp-set-connection-property
    (make-tramp-file-name
     :method tramp-current-method :user tramp-current-user
     :domain tramp-current-domain :host tramp-current-host
     :port tramp-current-port)
-   "first-password-request" t)
+   "first-password-request" tramp-cache-read-persistent-data)
   (save-restriction
     (with-tramp-progress-reporter
        proc 3 "Waiting for prompts from remote shell"
index 28147c48d6cc7617d8f8d06569cdb838363f3ec7..3c1e76e8772c1d000a13ee33c7213437d760eac4 100644 (file)
@@ -75,6 +75,7 @@
 
 (setq password-cache-expiry nil
       tramp-verbose 0
+      tramp-cache-read-persistent-data t ;; For auth-sources.
       tramp-copy-size-limit nil
       tramp-message-show-message nil
       tramp-persistency-file-name nil)