From 94da3cf11183e6ad3569140e666c4296c431f7e1 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 31 Mar 2005 22:22:45 +0000 Subject: [PATCH] (ido-file-internal): Fall back to non-ido command if initial directory is on slow ftp (or tramp) host. --- lisp/ido.el | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/lisp/ido.el b/lisp/ido.el index 86a88d0d491..ddeecbb9b69 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -1935,19 +1935,21 @@ If INITIAL is non-nil, it specifies the initial input string." ;; 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 @@ If INITIAL is non-nil, it specifies the initial input string." (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)) -- 2.39.2