patch 7.4.2049
Problem:    There is no way to get a list of the error lists.
Solution:   Add ":chistory" and ":lhistory".
diff --git a/src/message.c b/src/message.c
index 9541528..72cd79e 100644
--- a/src/message.c
+++ b/src/message.c
@@ -313,9 +313,25 @@
 	    len += n;
     }
 
-    /* Set the middle and copy the last part. */
-    if (e + 3 < buflen)
+
+    if (i <= e + 3)
     {
+	/* text fits without truncating */
+	if (s != buf)
+	{
+	    len = STRLEN(s);
+	    if (len >= buflen)
+		len = buflen - 1;
+	    len = len - e + 1;
+	    if (len < 1)
+		buf[e - 1] = NUL;
+	    else
+		mch_memmove(buf + e, s + e, len);
+	}
+    }
+    else if (e + 3 < buflen)
+    {
+	/* set the middle and copy the last part */
 	mch_memmove(buf + e, "...", (size_t)3);
 	len = (int)STRLEN(s + i) + 1;
 	if (len >= buflen - e - 3)
@@ -325,7 +341,8 @@
     }
     else
     {
-	buf[e - 1] = NUL;  /* make sure it is truncated */
+	/* can't fit in the "...", just truncate it */
+	buf[e - 1] = NUL;
     }
 }