changeset 8393:a7f94f0ba183 v7.4.1488

commit https://github.com/vim/vim/commit/179f1b9a7ddf3624daf6380c3dad740e0a1ba361 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Mar 4 22:52:34 2016 +0100 patch 7.4.1488 Problem: Not using key when result from hangul_string_convert() is NULL. Solution: Fall back to not converted string.
author Christian Brabandt <cb@256bit.org>
date Fri, 04 Mar 2016 23:00:04 +0100
parents 1bf1b88968a2
children a547a31981c5
files src/ui.c src/version.c
diffstat 2 files changed, 13 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/ui.c
+++ b/src/ui.c
@@ -1686,24 +1686,24 @@ add_to_input_buf_csi(char_u *str, int le
 push_raw_key(char_u *s, int len)
 {
     char_u *tmpbuf;
+    char_u *inp = s;
 
+    /* use the conversion result if possible */
     tmpbuf = hangul_string_convert(s, &len);
     if (tmpbuf != NULL)
+	inp = tmpbuf;
+
+    for (; len--; inp++)
     {
-	s = tmpbuf;
-
-	for (; len--; s++)
+	inbuf[inbufcount++] = *inp;
+	if (*inp == CSI)
 	{
-	    inbuf[inbufcount++] = *s;
-	    if (*s == CSI)
-	    {
-		/* Turn CSI into K_CSI. */
-		inbuf[inbufcount++] = KS_EXTRA;
-		inbuf[inbufcount++] = (int)KE_CSI;
-	    }
+	    /* Turn CSI into K_CSI. */
+	    inbuf[inbufcount++] = KS_EXTRA;
+	    inbuf[inbufcount++] = (int)KE_CSI;
 	}
-	vim_free(tmpbuf);
     }
+    vim_free(tmpbuf);
 }
 #endif
 
--- 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 */
 /**/
+    1488,
+/**/
     1487,
 /**/
     1486,