aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim F. Storm2006-09-10 21:40:44 +0000
committerKim F. Storm2006-09-10 21:40:44 +0000
commit5a1b28a4cbf6d96140fc08d75f17875bd150ee58 (patch)
treefc7b8d944597a1751e7fa25ac87725cb300c6264
parent606fd469310e7e610760c52aaf2673e86e0e0c9e (diff)
downloademacs-5a1b28a4cbf6d96140fc08d75f17875bd150ee58.tar.gz
emacs-5a1b28a4cbf6d96140fc08d75f17875bd150ee58.zip
(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.
-rw-r--r--lisp/ido.el20
1 files changed, 10 insertions, 10 deletions
diff --git a/lisp/ido.el b/lisp/ido.el
index 797827eafd4..e3baa71396b 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -2112,7 +2112,7 @@ If INITIAL is non-nil, it specifies the initial input string."
2112(defun ido-edit-input () 2112(defun ido-edit-input ()
2113 "Edit absolute file name entered so far with ido; terminate by RET." 2113 "Edit absolute file name entered so far with ido; terminate by RET."
2114 (interactive) 2114 (interactive)
2115 (setq ido-text-init (if ido-matches (car ido-matches) ido-text)) 2115 (setq ido-text-init (if ido-matches (ido-name (car ido-matches)) ido-text))
2116 (setq ido-exit 'edit) 2116 (setq ido-exit 'edit)
2117 (exit-minibuffer)) 2117 (exit-minibuffer))
2118 2118
@@ -2426,13 +2426,13 @@ If INITIAL is non-nil, it specifies the initial input string."
2426 ((and (= 1 (length ido-matches)) 2426 ((and (= 1 (length ido-matches))
2427 (not (and ido-enable-tramp-completion 2427 (not (and ido-enable-tramp-completion
2428 (string-equal ido-current-directory "/") 2428 (string-equal ido-current-directory "/")
2429 (string-match "..[@:]\\'" (car ido-matches))))) 2429 (string-match "..[@:]\\'" (ido-name (car ido-matches))))))
2430 ;; only one choice, so select it. 2430 ;; only one choice, so select it.
2431 (if (not ido-confirm-unique-completion) 2431 (if (not ido-confirm-unique-completion)
2432 (exit-minibuffer) 2432 (exit-minibuffer)
2433 (setq ido-rescan (not ido-enable-prefix)) 2433 (setq ido-rescan (not ido-enable-prefix))
2434 (delete-region (minibuffer-prompt-end) (point)) 2434 (delete-region (minibuffer-prompt-end) (point))
2435 (insert (car ido-matches)))) 2435 (insert (ido-name (car ido-matches)))))
2436 2436
2437 (t ;; else there could be some completions 2437 (t ;; else there could be some completions
2438 (setq res ido-common-match-string) 2438 (setq res ido-common-match-string)
@@ -2814,7 +2814,7 @@ If input stack is non-empty, delete current directory component."
2814 "Use first matching item as input text." 2814 "Use first matching item as input text."
2815 (interactive) 2815 (interactive)
2816 (when ido-matches 2816 (when ido-matches
2817 (setq ido-text-init (car ido-matches)) 2817 (setq ido-text-init (ido-name (car ido-matches)))
2818 (setq ido-exit 'refresh) 2818 (setq ido-exit 'refresh)
2819 (exit-minibuffer))) 2819 (exit-minibuffer)))
2820 2820
@@ -2828,7 +2828,7 @@ If input stack is non-empty, delete current directory component."
2828 "Move to previous directory in file name, push first match on stack." 2828 "Move to previous directory in file name, push first match on stack."
2829 (interactive) 2829 (interactive)
2830 (if ido-matches 2830 (if ido-matches
2831 (setq ido-text (car ido-matches))) 2831 (setq ido-text (ido-name (car ido-matches))))
2832 (setq ido-exit 'push) 2832 (setq ido-exit 'push)
2833 (exit-minibuffer)) 2833 (exit-minibuffer))
2834 2834
@@ -3745,7 +3745,7 @@ for first matching file."
3745 "Kill the buffer at the head of `ido-matches'." 3745 "Kill the buffer at the head of `ido-matches'."
3746 (interactive) 3746 (interactive)
3747 (let ((enable-recursive-minibuffers t) 3747 (let ((enable-recursive-minibuffers t)
3748 (buf (car ido-matches))) 3748 (buf (ido-name (car ido-matches))))
3749 (when buf 3749 (when buf
3750 (kill-buffer buf) 3750 (kill-buffer buf)
3751 ;; Check if buffer still exists. 3751 ;; Check if buffer still exists.
@@ -3760,7 +3760,7 @@ for first matching file."
3760 "Delete the file at the head of `ido-matches'." 3760 "Delete the file at the head of `ido-matches'."
3761 (interactive) 3761 (interactive)
3762 (let ((enable-recursive-minibuffers t) 3762 (let ((enable-recursive-minibuffers t)
3763 (file (car ido-matches))) 3763 (file (ido-name (car ido-matches))))
3764 (if file 3764 (if file
3765 (setq file (concat ido-current-directory file))) 3765 (setq file (concat ido-current-directory file)))
3766 (when (and file 3766 (when (and file
@@ -4202,7 +4202,7 @@ For details of keybindings, do `\\[describe-function] ido-find-file'."
4202 ((= (length contents) 2) 4202 ((= (length contents) 2)
4203 "/") 4203 "/")
4204 (ido-matches 4204 (ido-matches
4205 (concat ido-current-directory (car ido-matches))) 4205 (concat ido-current-directory (ido-name (car ido-matches))))
4206 (t 4206 (t
4207 (concat ido-current-directory (substring contents 0 -1))))) 4207 (concat ido-current-directory (substring contents 0 -1)))))
4208 (setq ido-text-init (substring contents -1)) 4208 (setq ido-text-init (substring contents -1))
@@ -4238,12 +4238,12 @@ For details of keybindings, do `\\[describe-function] ido-find-file'."
4238 ido-matches 4238 ido-matches
4239 (or (eq ido-enter-matching-directory 'first) 4239 (or (eq ido-enter-matching-directory 'first)
4240 (null (cdr ido-matches))) 4240 (null (cdr ido-matches)))
4241 (ido-final-slash (car ido-matches)) 4241 (ido-final-slash (ido-name (car ido-matches)))
4242 (or try-single-dir-match 4242 (or try-single-dir-match
4243 (eq ido-enter-matching-directory t))) 4243 (eq ido-enter-matching-directory t)))
4244 (ido-trace "single match" (car ido-matches)) 4244 (ido-trace "single match" (car ido-matches))
4245 (ido-set-current-directory 4245 (ido-set-current-directory
4246 (concat ido-current-directory (car ido-matches))) 4246 (concat ido-current-directory (ido-name (car ido-matches))))
4247 (setq ido-exit 'refresh) 4247 (setq ido-exit 'refresh)
4248 (exit-minibuffer)) 4248 (exit-minibuffer))
4249 4249