summaryrefslogtreecommitdiff
path: root/src/popupmnu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/popupmnu.c')
-rw-r--r--src/popupmnu.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/popupmnu.c b/src/popupmnu.c
index f280ff25d..7d2e13795 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)