changeset 72792:e8c7ac0523cb

(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.
author Kim F. Storm <storm@cua.dk>
date Sun, 10 Sep 2006 21:40:44 +0000
parents 1b368e2b4518
children 954bc7af1cb8
files lisp/ido.el
diffstat 1 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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))