Hi,
imaps in LookupCharacter(char) tries to delete the entered chars of the
shortcut, omitting the first one:
\" enough back-spaces to erase the left-hand
side;
\" -1 for the last character typed:
let bs = substitute(strpart(lhs, 1),
\".\", \"\\<bs>\", \"g\")
This fails if the first character is a multibyte
character. The strpart, instead of skipping the whole first character, will only
skip the first byte, thus erasing one character to much. A solution for this would be
let bs = substitute(substitute(lhs, \'^.\', \'\', \'\'), \".\", \"\\<bs>\",
\"g\")
The substitute takes care of multibyte characters.
Bye
Michael
|