I am attaching a second revision of the earlier patch. It is not that patch is final. It is worthy of further discussion and experimentation. Changes are in minibuffer.el and icomplete.el. 1. `minibuffer-summarize-completions' is meant as a replacement for `icomplete-exhibit'. As the name suggests, it is meant to go in to minibuffer.el. It's presence in minibuffer.el proved problematic (details in followup mail) and I had to move it to icomplete.el. TODO: Handle key binding hints for sole command matches? Is it really necessary. It seems so `old school'. May be it made sense when Emacs /did not/ provide key binding hints. 2. There is a display overlay that is used in minibuffer (see `minibuffer-message'). There is a counterpart in icomplete.el named `icomplete-overlay'. I am wondering whether `icomplete-overlay' could be thrown away and have it use, yet to be introduced `minibuffer-overlay'. Should this be buffer-local etc etc. I am not sure of. I can exchange notes if there is some interest around this area. 3. Apropos `minibuffer-force-complete-and-exit' and `confirm' etc. >> +(defun icomplete-this-match () >> + "Input first of the displayed matches to minibuffer prompt. >> +See `icomplete-matches'." >> + (interactive) >> + (delete-region (minibuffer-prompt-end) (point)) >> + (when icomplete-matches >> + (insert (car icomplete-matches))) >> + (exit-minibuffer)) > > I think it should still call test-completion and obey > minibuffer-completion-confirm if that test fails. Can `test-completion' fail if the prompt is filled from valid candidates? Remember, `minibuffer-force-and-complete-and-exit' doesn't rely on manual-typing at the prompt. --8<---------------cut here---------------start------------->8---