diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-07-25 19:50:57 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-07-25 19:50:57 +0100 |
commit | ecdc82e74e6a7e73d9067ece1d5eac33abfde5ed (patch) | |
tree | 7db7b41219ac28701bfc3e9a538bb1efe431227c | |
parent | 4dc513a22c017b3061287deac74fa55f70a3214c (diff) | |
download | vim-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.c | 3 | ||||
-rw-r--r-- | src/testdir/test_messages.vim | 3 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |