summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-03-03 11:45:15 +0100
committerBram Moolenaar <Bram@vim.org>2016-03-03 11:45:15 +0100
commit00ded43a5a85df57abb74f9e3a38a401f6fbd8fd (patch)
treebdee40329ca36d5b5b23881fd59fe800b279b0ab /src
parent5fac467474376a844407cecc0ff481510ead221c (diff)
downloadvim-git-00ded43a5a85df57abb74f9e3a38a401f6fbd8fd.tar.gz
patch 7.4.1475v7.4.1475
Problem: When using hangulinput with utf-8 a CSI character is misintepreted. Solution: Convert CSI to K_CSI. (SungHyun Nam)
Diffstat (limited to 'src')
-rw-r--r--src/ui.c16
-rw-r--r--src/version.c2
2 files changed, 14 insertions, 4 deletions
diff --git a/src/ui.c b/src/ui.c
index be5d8c50f..3e8875851 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -1689,13 +1689,21 @@ push_raw_key(char_u *s, int len)
tmpbuf = hangul_string_convert(s, &len);
if (tmpbuf != NULL)
+ {
s = tmpbuf;
- while (len--)
- inbuf[inbufcount++] = *s++;
-
- if (tmpbuf != NULL)
+ for (; len--; s++)
+ {
+ inbuf[inbufcount++] = *s;
+ if (*s == CSI)
+ {
+ /* Turn CSI into K_CSI. */
+ inbuf[inbufcount++] = KS_EXTRA;
+ inbuf[inbufcount++] = (int)KE_CSI;
+ }
+ }
vim_free(tmpbuf);
+ }
}
#endif
diff --git a/src/version.c b/src/version.c
index de168020a..3491a4bad 100644
--- a/src/version.c
+++ b/src/version.c
@@ -744,6 +744,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1475,
+/**/
1474,
/**/
1473,