Please give a look to the attached patch... It adds two new values: visible: to update when visible else do nothing (as Stefan suggested). always: to always update or show completions (Like bash show-all-if-ambiguous) BTW: the lazy value is more like show-all-if-unmodified i think On Wed, Mar 09, 2022 at 03:30:16PM +0100, Ergus wrote: >On Wed, Mar 09, 2022 at 03:16:17PM +0200, Eli Zaretskii wrote: >>>Date: Wed, 9 Mar 2022 12:46:54 +0100 >>>From: Ergus >>>Cc: Stefan Monnier , emacs-devel@gnu.org >>> >>>Look at the attached patch, it may need some small improve to solve the >>>case 4. but so far it gives a consistent behavior with any value of >>>completion-auto-help (and it is actually simpler than the current code) >>> >>>Alternatively we may add another custom, something like: >>> >>>completions-on-complete-action which may have 3 possible values: >> >>We don't need a new option, we can add a new value to the >>completion-auto-help. >> >>But yes, I think this behavior you propose _must_ be optional, most >>probably opt-in for starters. Not everyone will want it. >> >>See also completion-cycle-threshold: this new behavior should not >>tramp that option. > >I tend to agree Eli, but actually I started a thread because the default >behavior is indeed inconsistent with completion-auto-help as the same >Stefan mentioned. > >The current behavior mixes the completion-auto-help==t with >completion-auto-help=='lazy when there is some completion and the >completions are already visible (hiding them). > >If we do: > >compi it should be completed, but if the completions list is >somehow visible, then after the tab it is not correct, so we currently >hide it, when we must just update it right? > >The fix in any case is extremely simple and I think that with a new vale >for completion-auto-help to 'always it will work, but may be even >complicated to explain in the documentation... > >