Subject: Expand/fix use of completion-no-auto-exit flag

From: Robert Weiner <[email-masked]>
Date: Fri, 26 Mar 2021 15:18:26 -0400

It seems to me a high-level view of completion-no-auto-exit is to allow
code outside of choose-completion and choose-completion-string to finish
the completion selection process.  Presently, this flag does inhibit
closure of the minibuffer when choosing a completion but it does not
inhibit closure of the list of completions if '?' has been used.  I think
the two are connected and that whatever external code is used to utilize
the finalized completion should also handle the closure of the completion
window.

This can be accomplished by simply wrapping the call to 'quit-window'
within 'choose-completion' with an '(unless completion-no-auto-exit...)'
like so:
         (unless completion-no-auto-exit (quit-window nil (posn-window
(event-start event))))

Please consider adding this as a quick fix.  Then packages like Hyperbole
which requires 2 clicks/presses to finalize a completion selection could
use choose-completion without having to replace the whole function.

Thanks,

Bob