diff --git a/src/charset.c b/src/charset.c index 6ad8ae587656c895a8a857616b0883541a8b5ff1..5436bb40b0fe0fc506fab4985d822552add2d470 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 f280ff25d8ad79a4968dbc5193c2db338e725047..7d2e1379507564ec0bc477a4687dba66a695f45f 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 338edba4b4b65728d0a0493806aa5d1e56c76e0b..81b8f49930d80aca30a0e1ea83e9929547f96aec 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, /**/