Juri Linkov writes: >> I attached a patch which adds a customization option >> `completion-eager-display' and an `eager-display' completion table >> metadata. The customization option can be set to nil (never), t (always) >> or to auto, which means that the *Completions* buffer will only be shown >> if the completion table requests eager display via the `eager-display' >> metadata. >> >> I updated ffap.el, tmm.el and imenu.el to take advantage of the new >> `eager-display' metadata. I added completion categories where missing >> such that overriding the metadata becomes possible. If desired, the >> metadata can be moved to `completion-category-defaults' instead. > > Thanks, I tested everything, and it works nicely. > > One small detail that could be added later is to extend > the customization type of `completion-category-overrides' > :value-type with `eager-display'. Since currently > only programmatic use is supported. > > Also tried to do: > > (add-to-list 'completion-category-overrides > '(tmm (eager-display . nil))) > > but after typing TAB it pops up the completion buffer > where all functionality is lost. Is this because > `tmm-add-prompt' is called only for non-nil `eager-display'? See the new patch which I've attached to this mail, with the two improvements. Daniel