summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-07-25 19:50:57 +0100
committerBram Moolenaar <Bram@vim.org>2022-07-25 19:50:57 +0100
commitecdc82e74e6a7e73d9067ece1d5eac33abfde5ed (patch)
tree7db7b41219ac28701bfc3e9a538bb1efe431227c
parent4dc513a22c017b3061287deac74fa55f70a3214c (diff)
downloadvim-git-ecdc82e74e6a7e73d9067ece1d5eac33abfde5ed.tar.gz
patch 9.0.0071: command overlaps with printed text in scrollbackv9.0.0071
Problem: Command overlaps with printed text in scrollback. Solution: Clear until end-of-line and use correct message chunk. (closes #10765, closes #10764)
-rw-r--r--src/message.c3
-rw-r--r--src/testdir/test_messages.vim3
-rw-r--r--src/version.c2
3 files changed, 6 insertions, 2 deletions
diff --git a/src/message.c b/src/message.c
index 1f26a2341..7ba82fa05 100644
--- a/src/message.c
+++ b/src/message.c
@@ -2595,6 +2595,7 @@ sb_text_start_cmdline(void)
sb_text_end_cmdline(void)
{
do_clear_sb_text = SB_CLEAR_CMDLINE_DONE;
+ msg_sb_eol();
}
/*
@@ -2614,7 +2615,7 @@ clear_sb_text(int all)
{
if (last_msgchunk == NULL)
return;
- lastp = &last_msgchunk->sb_prev;
+ lastp = &msg_sb_start(last_msgchunk)->sb_prev;
}
while (*lastp != NULL)
diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim
index 32689b09e..1967a3efa 100644
--- a/src/testdir/test_messages.vim
+++ b/src/testdir/test_messages.vim
@@ -233,7 +233,8 @@ func Test_message_more()
" Up all the way with 'g'.
call term_sendkeys(buf, 'g')
- call WaitForAssert({-> assert_equal(' 5 5', term_getline(buf, 5))})
+ call WaitForAssert({-> assert_equal(' 4 4', term_getline(buf, 5))})
+ call WaitForAssert({-> assert_equal(':%p#', term_getline(buf, 1))})
call WaitForAssert({-> assert_equal('-- More --', term_getline(buf, 6))})
" All the way down. Pressing f should do nothing but pressing
diff --git a/src/version.c b/src/version.c
index 83d135db2..2f2d54022 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 71,
+/**/
70,
/**/
69,