aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/net
diff options
context:
space:
mode:
authorMichael Albinus <[email protected]>2012-06-20 08:51:53 +0200
committerMichael Albinus <[email protected]>2012-06-20 08:51:53 +0200
commit493c66882d491bcd6178e580abea92787f3e1555 (patch)
tree255c1206e1724bd24f53be3500fe49a5a5e0e63f /lisp/net
parent8b5257e1d4cc94e8982916ed5ca616b4f9d8222b (diff)
* net/ange-ftp.el (ange-ftp-get-passwd): Bind
`enable-recursive-minibuffers'. (ange-ftp-get-process): Throw if `non-essential' is non-nil.
Diffstat (limited to 'lisp/net')
-rw-r--r--lisp/net/ange-ftp.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index 4ca40fdabe..6ac01a1cd6 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -1230,7 +1230,8 @@ only return the directory part of FILE."
;; see if same user has logged in to other hosts; if so then prompt
;; with the password that was used there.
(t
- (let* ((other (ange-ftp-get-host-with-passwd user))
+ (let* ((enable-recursive-minibuffers t)
+ (other (ange-ftp-get-host-with-passwd user))
(passwd (if other
;; found another machine with the same user.
@@ -2131,6 +2132,11 @@ Create a new process if needed."
(proc (get-process name)))
(if (and proc (memq (process-status proc) '(run open)))
proc
+ ;; If `non-essential' is non-nil, don't reopen a new connection. It
+ ;; will be catched in Tramp.
+ (when non-essential
+ (throw 'non-essential 'non-essential))
+
;; Must delete dead process so that new process can reuse the name.
(if proc (delete-process proc))
(let ((pass (ange-ftp-quote-string