Stefan Monnier writes: >> So is the plan to add a completion metadata `eager-display' such that >> completion tables can request immediate display? This completion >> metadata can then be overridden by the user via >> `completion-category-overrides'. The patch would include changes to tmm, >> ffap-menu and imenu (obsoleting `imenu-eager-completion-buffer'). > > That sounds good, except that in order for > `completion-category-overrides` to work reliably, the `eager-display` > should not be in the metadata but in `completion-category-defaults`. Okay. Can you please clarify why you assume that overriding isn't reliably possible if the metadata is specified directly? In `completion-metadata-get' the `completion-category-defaults' and `completion-category-overrides' take precedence over the completion table metadata. 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. Daniel