diff options
Diffstat (limited to 'Src/Zle/compcore.c')
-rw-r--r-- | Src/Zle/compcore.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c index 941023769..ee218e132 100644 --- a/Src/Zle/compcore.c +++ b/Src/Zle/compcore.c @@ -499,12 +499,22 @@ after_complete(Hookdef dummy, Compldat dat) { if (menucmp && !oldmenucmp) { struct chdata dat; + int ret; dat.matches = amatches; dat.num = nmatches; dat.cur = NULL; - if (runhookdef(MENUSTARTHOOK, (void *) &dat)) + if ((ret = runhookdef(MENUSTARTHOOK, (void *) &dat))) { menucmp = menuacc = 0; + if (ret == 2) { + cs = 0; + foredel(ll); + inststr(origline); + cs = origcs; + clearlist = 1; + invalidatelist(); + } + } } return 0; } |