changeset 61180:cc04bb9ef8b6

(ido-file-internal): Fall back to non-ido command if initial directory is on slow ftp (or tramp) host.
author Kim F. Storm <storm@cua.dk>
date Thu, 31 Mar 2005 22:22:45 +0000
parents 9c457f96bb08
children 3b4e4d883374
files lisp/ido.el
diffstat 1 files changed, 16 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ido.el	Thu Mar 31 22:22:29 2005 +0000
+++ b/lisp/ido.el	Thu Mar 31 22:22:45 2005 +0000
@@ -1935,19 +1935,21 @@
   ;; Internal function for ido-find-file and friends
   (unless item
     (setq item 'file))
-  (let* ((ido-current-directory (ido-expand-directory default))
-	 (ido-directory-nonreadable (ido-nonreadable-directory-p ido-current-directory))
-	 (ido-directory-too-big (and (not ido-directory-nonreadable)
-				     (ido-directory-too-big-p ido-current-directory)))
-	 (ido-context-switch-command switch-cmd)
-	 filename)
-
-    (cond
-     ((or (not ido-mode) (ido-is-slow-ftp-host))
-      (setq filename t
-	    ido-exit 'fallback))
-
-     ((and (eq item 'file)
+  (let ((ido-current-directory (ido-expand-directory default))
+	(ido-context-switch-command switch-cmd)
+        ido-directory-nonreadable ido-directory-too-big
+	filename)
+
+    (if (or (not ido-mode) (ido-is-slow-ftp-host))
+	(setq filename t
+	      ido-exit 'fallback)
+      (setq ido-directory-nonreadable
+	    (ido-nonreadable-directory-p ido-current-directory)
+	    ido-directory-too-big
+	    (and (not ido-directory-nonreadable)
+		 (ido-directory-too-big-p ido-current-directory))))
+
+    (when (and (eq item 'file)
 	   (or ido-use-url-at-point ido-use-filename-at-point))
       (let (fn d)
 	(require 'ffap)
@@ -1966,7 +1968,7 @@
 	       (setq d (file-name-directory fn))
 	       (file-directory-p d))
 	  (setq ido-current-directory d)
-	  (setq initial (file-name-nondirectory fn)))))))
+	  (setq initial (file-name-nondirectory fn))))))
 
     (let (ido-saved-vc-hb
 	  (vc-handled-backends (and (boundp 'vc-handled-backends) vc-handled-backends))