Subject: Re: 23.1.50; Unexpected minibuffer tab completion behavior

From: Matthew Dempsky <[email-masked]>
Date: Tue, 24 Nov 2009 18:24:34 -0800

On Mon, Nov 23, 2009 at 10:09 PM, Matthew Dempsky wrote:
> Instead, I expect either for that window to continue showing the
> *Completion* buffer (refreshed to display just the "aaa" and "aab"
> entries) or for that window to be deleted.  (I'd prefer the former
> behavior.)

The last patch I posted achieves the latter behavior.  Combining with
the (proof-of-concept) patch below, I seem to achieve the former
(personally more desirable) behavior.

--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -489,10 +489,11 @@ E = after completion we now have an Exact match.
 					minibuffer-completion-table
 					minibuffer-completion-predicate)))
             (if completed
-                ;; We could also decide to refresh the completions,
-                ;; if they're displayed (and assuming there are
-                ;; completions left).
-                (minibuffer-hide-completions)
+		(cond
+		 (exact (minibuffer-hide-completions))
+		 ((get-buffer-window "*Completions*" 0)
+		  (minibuffer-completion-help))
+		 (t t))
               ;; Show the completion table, if requested.
               (cond
                ((not exact)