diff options
author | Oliver Kiddle <opk@zsh.org> | 2016-09-27 21:32:01 +0200 |
---|---|---|
committer | Oliver Kiddle <opk@zsh.org> | 2016-09-27 21:32:01 +0200 |
commit | d6a6b4ff3a681dd72508aad21eb8ebe34147bc5e (patch) | |
tree | 90c913d9531de9e9c37e863f49fa56a60675c804 /Src/Zle | |
parent | 3b6002e53d82746634536cd2fda8a9dd354aaf7e (diff) | |
download | zsh-d6a6b4ff3a681dd72508aad21eb8ebe34147bc5e.tar.gz zsh-d6a6b4ff3a681dd72508aad21eb8ebe34147bc5e.tar.xz zsh-d6a6b4ff3a681dd72508aad21eb8ebe34147bc5e.zip |
39369 (tweaked cf 39371): when calling an internal widget, set bindk because some widgets use it to determine how they should act
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/zle_thingy.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Src/Zle/zle_thingy.c b/Src/Zle/zle_thingy.c index 910715491..505aea065 100644 --- a/Src/Zle/zle_thingy.c +++ b/Src/Zle/zle_thingy.c @@ -756,6 +756,10 @@ bin_zle_call(char *name, char **args, UNUSED(Options ops), UNUSED(char func)) } t = rthingy(wname); + /* for internal widgets we set bindk except for when getting + * a vi range to detect a repeated key */ + setbindk = setbindk || + (t->widget && (t->widget->flags & (WIDGET_INT | ZLE_VIOPER)) == WIDGET_INT)); ret = execzlefunc(t, args, setbindk); unrefthingy(t); if (saveflag) |