diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 6 | ||||
-rw-r--r-- | lisp/ido.el | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b7e1ed62d7b..eafb096f499 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-01-13 Kim F. Storm <storm@cua.dk> + + * ido.el (ido-may-cache-directory): Move "too-big" check later. + (ido-next-match, ido-prev-match): Fix stray reordering of matching + items when cycling through the matches. + 2011-01-13 Tassilo Horn <tassilo@member.fsf.org> * dired-x.el (dired-omit-verbose): New defcustom that allows diff --git a/lisp/ido.el b/lisp/ido.el index 84ae93142b4..502dd39e327 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -1289,8 +1289,6 @@ Only used if `ido-use-virtual-buffers' is non-nil.") (defun ido-may-cache-directory (&optional dir) (setq dir (or dir ido-current-directory)) (cond - ((ido-directory-too-big-p dir) - nil) ((and (ido-is-root-directory dir) (or ido-enable-tramp-completion (memq system-type '(windows-nt ms-dos)))) @@ -1299,6 +1297,8 @@ Only used if `ido-use-virtual-buffers' is non-nil.") (ido-cache-unc-valid)) ((ido-is-ftp-directory dir) (ido-cache-ftp-valid)) + ((ido-directory-too-big-p dir) + nil) (t t))) (defun ido-pp (list &optional sep) @@ -3072,8 +3072,8 @@ If repeated, insert text from buffer instead." (if ido-matches (let ((next (cadr ido-matches))) (setq ido-cur-list (ido-chop ido-cur-list next)) - (setq ido-rescan t) - (setq ido-rotate t)))) + (setq ido-matches (ido-chop ido-matches next)) + (setq ido-rescan nil)))) (defun ido-prev-match () "Put last element of `ido-matches' at the front of the list." @@ -3081,8 +3081,8 @@ If repeated, insert text from buffer instead." (if ido-matches (let ((prev (car (last ido-matches)))) (setq ido-cur-list (ido-chop ido-cur-list prev)) - (setq ido-rescan t) - (setq ido-rotate t)))) + (setq ido-matches (ido-chop ido-matches prev)) + (setq ido-rescan nil)))) (defun ido-next-match-dir () "Find next directory in match list. |