diff lisp/ido.el @ 83094:8e5779acd195

Merged in changes from CVS HEAD Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-193 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-194 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-195 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-196 Remove RCS keywords * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-197 Stupid CVS keyword changes * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-198 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-199 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-134
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 10 Apr 2004 23:06:09 +0000
parents ae50ef10fab5
children fa5273a32653
line wrap: on
line diff
--- a/lisp/ido.el	Thu Apr 08 15:09:37 2004 +0000
+++ b/lisp/ido.el	Sat Apr 10 23:06:09 2004 +0000
@@ -489,6 +489,13 @@
   :type 'boolean
   :group 'ido)
 
+(defcustom ido-confirm-unique-completion nil
+  "*Non-nil means that even a unique completion must be confirmed.
+This means that \\[ido-complete] must always be followed by \\[ido-exit-minibuffer]
+even when there is only one unique completion."
+  :type 'boolean
+  :group 'ido)
+
 (defcustom ido-cannot-complete-command 'ido-completion-help
   "*Command run when `ido-complete' can't complete any more.
 The most useful values are `ido-completion-help', which pops up a
@@ -1899,7 +1906,7 @@
 
 	 ((and ido-use-filename-at-point
 	       (setq fn (ffap-string-at-point))
-	       (not (string-match "^http:/" fn)) 
+	       (not (string-match "^http:/" fn))
 	       (setq d (file-name-directory fn))
 	       (file-directory-p d))
 	  (setq ido-current-directory d)
@@ -2056,7 +2063,11 @@
 		     (string-equal ido-current-directory "/")
 		     (string-match "..[@:]\\'" (car ido-matches)))))
       ;; only one choice, so select it.
-      (exit-minibuffer))
+      (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))))
 
      (t ;; else there could be some completions
       (setq res ido-common-match-string)
@@ -3396,6 +3407,7 @@
 	(ido-work-directory-match-only nil)
 	(ido-ignore-files (cons "[^/]\\'" ido-ignore-files))
 	(ido-report-no-match nil)
+	(ido-confirm-unique-completion t)
 	(ido-auto-merge-work-directories-length -1))
     (ido-file-internal 'write 'write-file nil "Write file: ")))
 
@@ -3544,7 +3556,7 @@
 	    (setq refresh t))
 	   ((and ido-directory-nonreadable
 		 (file-directory-p (concat ido-current-directory (file-name-directory contents))))
-	    (ido-set-current-directory 
+	    (ido-set-current-directory
 	     (concat ido-current-directory (file-name-directory contents)))
 	    (setq refresh t))
 	   (t