Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Proposal: Let compinit make standard widgets with _generic instead of _main_complete

On Sun, Apr 4, 2021 at 11:35 AM Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
> The problem with calling _generic at all (right now) is that it messes
> with $curcontext in a way that may break other functions that rely on
> _main_complete behavior.  If we can invert the call sequence so
> _main_complete remains first, then _generic itself can be tweaked so
> that it does NOT mung the context in that circumstance

Sorry, that's also an incomplete explanation, and it might not be only
_generic that needs tweaking.

Suppose I want to invoke _complete_debug.  It's supposed to emulate
complete-word, but has a hardwired call to _main_complete.  If
complete-word is _generic, then when I try _complete_debug I won't get
a backtrace that actually matches what happens when I complete-word.
If instead _main_complete runs _generic, the backtrace from
_complete_debug is correct, and there's an opportunity to build some
additional intelligence into _complete_debug because it can check
which widgets are _generic.  Similar things apply to _complete_help,

Messages sorted by: Reverse Date, Date, Thread, Author