updated for version 7.3.483
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)
diff --git a/src/eval.c b/src/eval.c
index bfb72b1..bf0363a 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -20493,9 +20493,10 @@
* 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();
}
}
diff --git a/src/message.c b/src/message.c
index c9b6a28..b9cc93f 100644
--- a/src/message.c
+++ b/src/message.c
@@ -2348,6 +2348,16 @@
}
/*
+ * 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).
*/
diff --git a/src/proto/message.pro b/src/proto/message.pro
index a12f120..f67b8e0 100644
--- a/src/proto/message.pro
+++ b/src/proto/message.pro
@@ -45,6 +45,7 @@
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));
diff --git a/src/version.c b/src/version.c
index b9df085..988eb19 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 483,
+/**/
482,
/**/
481,