Mercurial > emacs
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))