X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/d64d97e537301a9787a569982d67eed8ecdabe8b..08bb5ee241848b0bd9297274f1e76aaaae3245de:/lisp/ido.el diff --git a/lisp/ido.el b/lisp/ido.el index 008561aa26..7ace1811da 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -927,7 +927,8 @@ ido is running. Copied from `icomplete-minibuffer-setup-hook'." :type 'hook :group 'ido) -(defcustom ido-save-directory-list-file (convert-standard-filename "~/.ido.last") +(defcustom ido-save-directory-list-file + (locate-user-emacs-file "ido.last" ".ido.last") "File in which the ido state is saved between invocations. Variables stored are: `ido-last-directory-list', `ido-work-directory-list', `ido-work-file-list', and `ido-dir-file-cache'. @@ -1585,6 +1586,8 @@ This function also adds a hook to the minibuffer." (define-key map "\C-p" 'ido-toggle-prefix) (define-key map "\C-r" 'ido-prev-match) (define-key map "\C-s" 'ido-next-match) + (define-key map [?\C-.] 'ido-next-match) + (define-key map [?\C-,] 'ido-prev-match) (define-key map "\C-t" 'ido-toggle-regexp) (define-key map "\C-z" 'ido-undo-merge-work-directory) (define-key map [(control ?\s)] 'ido-restrict-to-matches) @@ -3147,13 +3150,15 @@ for first matching file." (exit-minibuffer))) (defun ido-chop (items elem) - "Remove all elements before ELEM and put them at the end of ITEMS." + "Remove all elements before ELEM and put them at the end of ITEMS. +Use `eq' for comparison." (let ((ret nil) (next nil) (sofar nil)) (while (not ret) (setq next (car items)) - (if (equal next elem) + ;; Use `eq' to avoid bug http://debbugs.gnu.org/10994 + (if (eq next elem) (setq ret (append items (nreverse sofar))) ;; else (progn