summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2017-06-14 14:17:22 +0200
committerMichael Albinus <michael.albinus@gmx.de>2017-06-14 14:17:22 +0200
commit164fcc6f26e4a539f6cb1e4b7196ce5f93d06a53 (patch)
tree23b08f4be044bea2a34d69743bab1e2fc81ad90a /lisp
parent5647c4a2c62054ad3dae3d6d83739b7cc4d10c9f (diff)
downloademacs-164fcc6f26e4a539f6cb1e4b7196ce5f93d06a53.tar.gz
emacs-164fcc6f26e4a539f6cb1e4b7196ce5f93d06a53.tar.bz2
emacs-164fcc6f26e4a539f6cb1e4b7196ce5f93d06a53.zip
Fix Bug#27315
* 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'.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/net/tramp-cache.el12
-rw-r--r--lisp/net/tramp-gvfs.el8
-rw-r--r--lisp/net/tramp.el9
3 files changed, 15 insertions, 14 deletions
diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el
index 415cde2fc8a..ac5a9c45bbd 100644
--- a/lisp/net/tramp-cache.el
+++ b/lisp/net/tramp-cache.el
@@ -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)
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 859809c00a8..4c750df3c40 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -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
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 5bedc383d86..e329f921e03 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -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"