summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2012-03-28 16:49:29 +0200
committerBram Moolenaar <Bram@vim.org>2012-03-28 16:49:29 +0200
commit6df5e5ae42a9fd47c6ec243b45073956ec3a1fa1 (patch)
tree35c4976c6f60cae8bd4edd3fee2b33de6e48c006
parent524780d69f4be69caad73a429665d0bfd9aa5ca7 (diff)
downloadvim-git-6df5e5ae42a9fd47c6ec243b45073956ec3a1fa1.tar.gz
updated for version 7.3.483v7.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)
-rw-r--r--src/eval.c7
-rw-r--r--src/message.c10
-rw-r--r--src/proto/message.pro1
-rw-r--r--src/version.c2
4 files changed, 17 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c
index bfb72b1fc..bf0363ab5 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -20493,9 +20493,10 @@ ex_echo(eap)
* 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 c9b6a2846..b9cc93fa1 100644
--- a/src/message.c
+++ b/src/message.c
@@ -2348,6 +2348,16 @@ msg_sb_start(mps)
}
/*
+ * 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 a12f1200c..f67b8e031 100644
--- a/src/proto/message.pro
+++ b/src/proto/message.pro
@@ -45,6 +45,7 @@ void msg_puts_attr __ARGS((char_u *s, int attr));
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 b9df08512..988eb192e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 483,
+/**/
482,
/**/
481,