summaryrefslogtreecommitdiffstats
path: root/src/ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ops.c')
-rw-r--r--src/ops.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/ops.c b/src/ops.c
index 128984e6a7..1184c9d16c 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -3703,6 +3703,11 @@ ex_display(eap)
int name;
int attr;
char_u *arg = eap->arg;
+#ifdef FEAT_MBYTE
+ int clen;
+#else
+# define clen 1
+#endif
if (arg != NULL && *arg == NUL)
arg = NULL;
@@ -3750,10 +3755,12 @@ ex_display(eap)
}
for (p = yb->y_array[j]; *p && (n -= ptr2cells(p)) >= 0; ++p)
{
- msg_outtrans_len(p, 1);
#ifdef FEAT_MBYTE
- if (has_mbyte)
- p += (*mb_ptr2len_check)(p) - 1;
+ clen = (*mb_ptr2len_check)(p);
+#endif
+ msg_outtrans_len(p, clen);
+#ifdef FEAT_MBYTE
+ p += clen - 1;
#endif
}
}