changeset 97478:6c4680239c3f

(display-completion-list): Revert last change. Only default base-size to zero if completing in the minibuffer.
author Chong Yidong <cyd@stupidchicken.com>
date Fri, 15 Aug 2008 00:10:03 +0000
parents bcaacb72ee0e
children e00b8bd1e485
files lisp/minibuffer.el
diffstat 1 files changed, 16 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/minibuffer.el	Fri Aug 15 00:06:12 2008 +0000
+++ b/lisp/minibuffer.el	Fri Aug 15 00:10:03 2008 +0000
@@ -814,7 +814,7 @@
         completions)
        base-size))))
 
-(defun display-completion-list (completions &optional common-substring base-size)
+(defun display-completion-list (completions &optional common-substring)
   "Display the list of completions, COMPLETIONS, using `standard-output'.
 Each element may be just a symbol or string
 or may be a list of two strings to be printed as if concatenated.
@@ -829,11 +829,7 @@
 The optional arg COMMON-SUBSTRING, if non-nil, should be a string
 specifying a common substring for adding the faces
 `completions-first-difference' and `completions-common-part' to
-the completions buffer.
-
-The optional arg BASE-SIZE, if non-nil, which should be an
-integer that specifies the value of `completion-base-size' for
-the completion buffer."
+the completions buffer."
   (if common-substring
       (setq completions (completion-hilit-commonality
                          completions (length common-substring))))
@@ -842,21 +838,22 @@
       (with-temp-buffer
 	(let ((standard-output (current-buffer))
 	      (completion-setup-hook nil))
-	  (display-completion-list completions common-substring base-size))
+	  (display-completion-list completions common-substring))
 	(princ (buffer-string)))
 
-    (with-current-buffer standard-output
-      (goto-char (point-max))
-      (if (null completions)
-	  (insert "There are no possible completions of what you have typed.")
-
-	(insert "Possible completions are:\n")
-        (let ((last (last completions)))
-          ;; If BASE-SIZE is unspecified, set it from the tail of the list.
-	  (set (make-local-variable 'completion-base-size)
-	       (or base-size (cdr last) 0))
-          (setcdr last nil)) ;Make completions a properly nil-terminated list.
-	(completion--insert-strings completions))))
+    (let ((mainbuf (current-buffer)))
+      (with-current-buffer standard-output
+	(goto-char (point-max))
+	(if (null completions)
+	    (insert "There are no possible completions of what you have typed.")
+	  (insert "Possible completions are:\n")
+	  (let ((last (last completions)))
+	    ;; Set base-size from the tail of the list.
+	    (set (make-local-variable 'completion-base-size)
+		 (or (cdr last)
+		     (and (minibufferp mainbuf) 0)))
+	    (setcdr last nil)) ; Make completions a properly nil-terminated list.
+	  (completion--insert-strings completions)))))
 
   ;; The hilit used to be applied via completion-setup-hook, so there
   ;; may still be some code that uses completion-common-substring.