summaryrefslogtreecommitdiff
path: root/Test/X03zlebindkey.ztst
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2015-12-15 12:41:09 +0000
committerPeter Stephenson <pws@zsh.org>2015-12-15 12:41:20 +0000
commit0bd903abcad6634757e775dcb9dfb9791c53df47 (patch)
tree3489de4805ba61e4cc5bc5d3f2ecd92ecfa59df1 /Test/X03zlebindkey.ztst
parentd397e3fca2fbe303f949d97e0ad7abeaf6adbb6a (diff)
downloadzsh-0bd903abcad6634757e775dcb9dfb9791c53df47.tar.gz
zsh-0bd903abcad6634757e775dcb9dfb9791c53df47.zip
37405: Fix self-insert binding for multibyte sequences.
This makes it work even if the self-insert applies to a sequence longer than an initial byte, including the case of a complete binding to a full character sequence.
Diffstat (limited to 'Test/X03zlebindkey.ztst')
-rw-r--r--Test/X03zlebindkey.ztst13
1 files changed, 10 insertions, 3 deletions
diff --git a/Test/X03zlebindkey.ztst b/Test/X03zlebindkey.ztst
index 70c42f9c2..e6fead586 100644
--- a/Test/X03zlebindkey.ztst
+++ b/Test/X03zlebindkey.ztst
@@ -1,13 +1,12 @@
# Tests of the vi mode of ZLE
%prep
- mb_ok=
+ ZSH_TEST_LANG=
langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8
$(locale -a 2>/dev/null | egrep 'utf8|UTF-8'))
for LANG in $langs; do
if [[ é = ? ]]; then
ZSH_TEST_LANG=$LANG
- mb_ok=1
break;
fi
done
@@ -29,7 +28,7 @@
>BUFFER: foo
>CURSOR: 3
- if [[ -z $mb_ok ]]; then
+ if [[ -z $ZSH_TEST_LANG ]]; then
ZTST_skip="bindkey multibyte test skipped"
else
zpty_run 'alias unbind="bindkey -r ホ"'
@@ -37,9 +36,17 @@
zletest 'ホ'
zpty_run unbind
zletest 'ホ'
+ zpty_run 'bindkey ホ self-insert'
+ zletest 'ホ'
+ zpty_run unbind
+ zletest 'ホ'
fi
0:bindkey -s multibyte characters
>BUFFER: bar
>CURSOR: 3
>BUFFER: ホ
>CURSOR: 1
+>BUFFER: ホ
+>CURSOR: 1
+>BUFFER: ホ
+>CURSOR: 1