* net/ange-ftp.el (ange-ftp-get-passwd): Bind
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 20 Jun 2012 06:51:53 +0000 (08:51 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 20 Jun 2012 06:51:53 +0000 (08:51 +0200)
`enable-recursive-minibuffers'.
(ange-ftp-get-process): Throw if `non-essential' is non-nil.

lisp/ChangeLog
lisp/net/ange-ftp.el

index 9146b52..494ea5a 100644 (file)
@@ -1,3 +1,9 @@
+2012-06-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/ange-ftp.el (ange-ftp-get-passwd): Bind
+       `enable-recursive-minibuffers'.
+       (ange-ftp-get-process): Throw if `non-essential' is non-nil.
+
 2012-06-19  David Röthlisberger  <david@rothlis.net>  (tiny change)
 
        * ido.el (ido-find-file): Mention C-d binding in docstring (bug#11244).
index 4ca40fd..6ac01a1 100644 (file)
@@ -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