diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Src/Zle/zle_misc.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index db594cc5d..79fb2c779 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,10 @@ 2015-09-12 Barton E. Schaefer <schaefer@zsh.org> + * 36525: Src/Zle/zle_misc.c: revert only the selfinsert() bit of + 36496 because selfinsert() may be called with incomplete wide + character processing from places other than getkeymapcmd() + * unposted: Functions/Zle/bracketed-paste-magic: revert 36483 as multibyte is now handled by "zle .read-command"; adapt to new default behavior of zle_highlight for paste diff --git a/Src/Zle/zle_misc.c b/Src/Zle/zle_misc.c index 297dc4ca8..0483f758d 100644 --- a/Src/Zle/zle_misc.c +++ b/Src/Zle/zle_misc.c @@ -115,7 +115,10 @@ selfinsert(UNUSED(char **args)) ZLE_CHAR_T tmp; #ifdef MULTIBYTE_SUPPORT - DPUTS(!lastchar_wide_valid, "keybuf did not read full wide character"); + /* may be redundant with getkeymapcmd(), but other widgets call here too */ + if (!lastchar_wide_valid) + if (getrestchar(lastchar, NULL, NULL) == WEOF) + return 1; #endif tmp = LASTFULLCHAR; doinsert(&tmp, 1); |