summaryrefslogtreecommitdiffstats
path: root/src/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/message.c')
-rw-r--r--src/message.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/message.c b/src/message.c
index fa37df12bb..e18f952697 100644
--- a/src/message.c
+++ b/src/message.c
@@ -1594,7 +1594,8 @@ msg_make(char_u *arg)
int
msg_outtrans_special(
char_u *strstart,
- int from) /* TRUE for lhs of a mapping */
+ int from, // TRUE for lhs of a mapping
+ int maxlen) // screen columns, 0 for unlimeted
{
char_u *str = strstart;
int retval = 0;
@@ -1614,6 +1615,8 @@ msg_outtrans_special(
else
text = (char *)str2special(&str, from);
len = vim_strsize((char_u *)text);
+ if (maxlen > 0 && retval + len >= maxlen)
+ break;
/* Highlight special keys */
msg_puts_attr(text, len > 1
&& (*mb_ptr2len)((char_u *)text) <= 1 ? attr : 0);