From 7cc36e9402bd8e34bca88df499b2d94fdb4cc4fb Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Tue, 27 Mar 2007 10:42:05 +0000
Subject: [PATCH] updated for version 7.0-223

---
 src/charset.c  |  3 ++-
 src/popupmnu.c | 16 ++++++++++++++--
 src/version.c  |  2 ++
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/charset.c b/src/charset.c
index 6ad8ae5876..5436bb40b0 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -317,7 +317,8 @@ trans_characters(buf, bufsize)
     }
 }
 
-#if defined(FEAT_EVAL) || defined(FEAT_TITLE) || defined(PROTO)
+#if defined(FEAT_EVAL) || defined(FEAT_TITLE) || defined(FEAT_INS_EXPAND) \
+	|| defined(PROTO)
 /*
  * Translate a string into allocated memory, replacing special chars with
  * printable chars.  Returns NULL when out of memory.
diff --git a/src/popupmnu.c b/src/popupmnu.c
index f280ff25d8..7d2e137950 100644
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -280,8 +280,20 @@ pum_redraw()
 		    w = ptr2cells(p);
 		    if (*p == NUL || *p == TAB || totwidth + w > pum_width)
 		    {
-			/* Display the text that fits or comes before a Tab. */
-			screen_puts_len(s, (int)(p - s), row, col, attr);
+			/* Display the text that fits or comes before a Tab.
+			 * First convert it to printable characters. */
+			char_u *st;
+			int  saved = *p;
+
+			*p = NUL;
+			st = transstr(s);
+			*p = saved;
+			if (st != NULL)
+			{
+			    screen_puts_len(st, (int)STRLEN(st), row, col,
+									attr);
+			    vim_free(st);
+			}
 			col += width;
 
 			if (*p != TAB)
diff --git a/src/version.c b/src/version.c
index 338edba4b4..81b8f49930 100644
--- a/src/version.c
+++ b/src/version.c
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    223,
 /**/
     222,
 /**/
-- 
GitLab