updated for version 7.0-223
diff --git a/src/charset.c b/src/charset.c
index 6ad8ae5..5436bb4 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -317,7 +317,8 @@
     }
 }
 
-#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 f280ff2..7d2e137 100644
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -280,8 +280,20 @@
 		    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 338edba..81b8f49 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    223,
+/**/
     222,
 /**/
     221,