summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2015-12-08 10:56:17 +0000
committerPeter Stephenson <pws@zsh.org>2015-12-08 10:56:17 +0000
commit59de978c7edff58b45d4da16ff248cbf564e36bd (patch)
treeb79bf08d80ee1c6dc1b1fbcbd7c6a18a8b744d36
parentf5b8efa7e0450450a91c8263733502f9de6729b4 (diff)
downloadzsh-59de978c7edff58b45d4da16ff248cbf564e36bd.tar.gz
zsh-59de978c7edff58b45d4da16ff248cbf564e36bd.tar.xz
zsh-59de978c7edff58b45d4da16ff248cbf564e36bd.zip
users/21071: Fix binding of multibyte sequences.
There was a problem if the first byte was already bound to
self-insert.
-rw-r--r--ChangeLog6
-rw-r--r--Src/Zle/zle_keymap.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7906ba40c..3d463e7fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-12-08  Peter Stephenson  <p.stephenson@samsung.com>
+
+	* users/21071: Src/Zle/zle_keymap.c: Multibyte key sequences
+	couldn't be bound if the initial byte was the start of any
+	self-insert sequence.
+
 2015-12-07  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* 37344: Doc/Zsh/expn.yo, Src/subst.c, Src/utils.c, Src/zsh.h,
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
index 069580f8a..d6d116ba5 100644
--- a/Src/Zle/zle_keymap.c
+++ b/Src/Zle/zle_keymap.c
@@ -1503,7 +1503,7 @@ getkeymapcmd(Keymap km, Thingy *funcp, char **strp)
 		    f->widget->flags & ZLE_VIOPER);
 #ifdef MULTIBYTE_SUPPORT
 	    if ((f == Th(z_selfinsert) || f == Th(z_selfinsertunmeta)) &&
-		!lastchar_wide_valid) {
+		!lastchar_wide_valid && !ispfx) {
 		int len;
 		VARARR(char, mbc, MB_CUR_MAX);
 		ZLE_INT_T inchar = getrestchar(lastchar, mbc, &len);