Problem: More prompt shows up too often.
Solution: Instead of adding a line break, only start a new line in the
message history. (Christian Brabandt)
* may cause a message to appear. */
if (eap->cmdidx == CMD_echo)
{
- /* Put the output below the command, makes scrolling back
- * at more prompt work. */
- msg_didout = TRUE;
+ /* Mark the saved text as finishing the line, so that what
+ * follows is displayed on a new line when scrolling back
+ * at the more prompt. */
+ msg_sb_eol();
msg_start();
}
}
return mp;
}
+/*
+ * Mark the last message chunk as finishing the line.
+ */
+ void
+msg_sb_eol()
+{
+ if (last_msgchunk != NULL)
+ last_msgchunk->sb_eol = TRUE;
+}
+
/*
* Display a screen line from previously displayed text at row "row".
* Returns a pointer to the text for the next line (can be NULL).
void may_clear_sb_text __ARGS((void));
void clear_sb_text __ARGS((void));
void show_sb_text __ARGS((void));
+void msg_sb_eol __ARGS((void));
int msg_use_printf __ARGS((void));
void mch_errmsg __ARGS((char *str));
void mch_msg __ARGS((char *str));
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 483,
/**/
482,
/**/