mirror of git://git.code.sf.net/p/zsh/code
36483: handle incomplete multibyte characters in bracketed-paste-magi
This commit is contained in:
parent
7fca9bb05b
commit
f5e8527a8c
|
@ -1,3 +1,8 @@
|
|||
2015-09-11 Peter Stephenson <p.w.stephenson@ntlworld.com>
|
||||
|
||||
* 36483: Functions/Zle/bracketed-paste-magic: use
|
||||
[[:INCOMPLETE:]] to get rest of multibyte character.
|
||||
|
||||
2015-09-11 Peter Stephenson <p.stephenson@samsung.com>
|
||||
|
||||
* unposted: NEWS, README: update for minor new features that
|
||||
|
|
|
@ -164,17 +164,25 @@ bracketed-paste-magic() {
|
|||
integer bpm_limit=$UNDO_LIMIT_NO bpm_undo=$UNDO_CHANGE_NO
|
||||
UNDO_LIMIT_NO=$UNDO_CHANGE_NO
|
||||
|
||||
local mbchar
|
||||
integer ismb
|
||||
while [[ -n $PASTED ]] && zle .read-command; do
|
||||
PASTED=${PASTED#$KEYS}
|
||||
if [[ $KEYS = ${(~j:|:)${(b)bpm_inactive}} ]]; then
|
||||
zle .self-insert-unmeta
|
||||
mbchar=$KEYS
|
||||
ismb=0
|
||||
while [[ $mbchar = [[:INCOMPLETE:]]* ]] && zle .read-command; do
|
||||
mbchar+=$KEYS
|
||||
ismb=1
|
||||
done
|
||||
PASTED=${PASTED#$mbchar}
|
||||
if [[ ismb -ne 0 || $mbchar = ${(~j:|:)${(b)bpm_inactive}} ]]; then
|
||||
LBUFFER+=$mbchar
|
||||
else
|
||||
case $REPLY in
|
||||
(${~bpm_active}) function () {
|
||||
emulate -L $bpm_emulate; set -$bpm_opts
|
||||
zle $REPLY
|
||||
};;
|
||||
(*) zle .self-insert-unmeta;;
|
||||
(*) LBUFFER+=$mbchar;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue