# HG changeset patch # User Kim F. Storm # Date 1157924444 0 # Node ID e8c7ac0523cb088d6b27c5d2403169c3118722e1 # Parent 1b368e2b45180af83bedab6662e705865906ecc0 (ido-edit-input, ido-complete, ido-take-first-match) (ido-push-dir-first, ido-kill-buffer-at-head, ido-exhibit) (ido-delete-file-at-head): Pass head of ido-matches through ido-name in case of merged directories. Reported by Micha¸«³l Cadilhac. diff -r 1b368e2b4518 -r e8c7ac0523cb lisp/ido.el --- a/lisp/ido.el Sun Sep 10 21:40:32 2006 +0000 +++ b/lisp/ido.el Sun Sep 10 21:40:44 2006 +0000 @@ -2112,7 +2112,7 @@ (defun ido-edit-input () "Edit absolute file name entered so far with ido; terminate by RET." (interactive) - (setq ido-text-init (if ido-matches (car ido-matches) ido-text)) + (setq ido-text-init (if ido-matches (ido-name (car ido-matches)) ido-text)) (setq ido-exit 'edit) (exit-minibuffer)) @@ -2426,13 +2426,13 @@ ((and (= 1 (length ido-matches)) (not (and ido-enable-tramp-completion (string-equal ido-current-directory "/") - (string-match "..[@:]\\'" (car ido-matches))))) + (string-match "..[@:]\\'" (ido-name (car ido-matches)))))) ;; only one choice, so select it. (if (not ido-confirm-unique-completion) (exit-minibuffer) (setq ido-rescan (not ido-enable-prefix)) (delete-region (minibuffer-prompt-end) (point)) - (insert (car ido-matches)))) + (insert (ido-name (car ido-matches))))) (t ;; else there could be some completions (setq res ido-common-match-string) @@ -2814,7 +2814,7 @@ "Use first matching item as input text." (interactive) (when ido-matches - (setq ido-text-init (car ido-matches)) + (setq ido-text-init (ido-name (car ido-matches))) (setq ido-exit 'refresh) (exit-minibuffer))) @@ -2828,7 +2828,7 @@ "Move to previous directory in file name, push first match on stack." (interactive) (if ido-matches - (setq ido-text (car ido-matches))) + (setq ido-text (ido-name (car ido-matches)))) (setq ido-exit 'push) (exit-minibuffer)) @@ -3745,7 +3745,7 @@ "Kill the buffer at the head of `ido-matches'." (interactive) (let ((enable-recursive-minibuffers t) - (buf (car ido-matches))) + (buf (ido-name (car ido-matches)))) (when buf (kill-buffer buf) ;; Check if buffer still exists. @@ -3760,7 +3760,7 @@ "Delete the file at the head of `ido-matches'." (interactive) (let ((enable-recursive-minibuffers t) - (file (car ido-matches))) + (file (ido-name (car ido-matches)))) (if file (setq file (concat ido-current-directory file))) (when (and file @@ -4202,7 +4202,7 @@ ((= (length contents) 2) "/") (ido-matches - (concat ido-current-directory (car ido-matches))) + (concat ido-current-directory (ido-name (car ido-matches)))) (t (concat ido-current-directory (substring contents 0 -1))))) (setq ido-text-init (substring contents -1)) @@ -4238,12 +4238,12 @@ ido-matches (or (eq ido-enter-matching-directory 'first) (null (cdr ido-matches))) - (ido-final-slash (car ido-matches)) + (ido-final-slash (ido-name (car ido-matches))) (or try-single-dir-match (eq ido-enter-matching-directory t))) (ido-trace "single match" (car ido-matches)) (ido-set-current-directory - (concat ido-current-directory (car ido-matches))) + (concat ido-current-directory (ido-name (car ido-matches)))) (setq ido-exit 'refresh) (exit-minibuffer))