diff options
author | Bram Moolenaar <Bram@vim.org> | 2012-03-28 16:49:29 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2012-03-28 16:49:29 +0200 |
commit | 6df5e5ae42a9fd47c6ec243b45073956ec3a1fa1 (patch) | |
tree | 35c4976c6f60cae8bd4edd3fee2b33de6e48c006 | |
parent | 524780d69f4be69caad73a429665d0bfd9aa5ca7 (diff) | |
download | vim-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.c | 7 | ||||
-rw-r--r-- | src/message.c | 10 | ||||
-rw-r--r-- | src/proto/message.pro | 1 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |