mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.3952: first line not redrawn when adding lines to an empty buffer
Problem: First line not redrawn when adding lines to an empty buffer. Solution: Adjust the argument to appended_lines(). (closes #9439, closes #9438)
This commit is contained in:
parent
04fb916684
commit
1fa3de1ce8
@ -3359,7 +3359,11 @@ ex_append(exarg_T *eap)
|
||||
|
||||
did_undo = TRUE;
|
||||
ml_append(lnum, theline, (colnr_T)0, FALSE);
|
||||
appended_lines_mark(lnum + (empty ? 1 : 0), 1L);
|
||||
if (empty)
|
||||
// there are no marks below the inserted lines
|
||||
appended_lines(lnum, 1L);
|
||||
else
|
||||
appended_lines_mark(lnum, 1L);
|
||||
|
||||
vim_free(theline);
|
||||
++lnum;
|
||||
|
@ -1,6 +1,8 @@
|
||||
" Tests for various Ex commands.
|
||||
|
||||
source check.vim
|
||||
source shared.vim
|
||||
source term_util.vim
|
||||
|
||||
func Test_ex_delete()
|
||||
new
|
||||
@ -128,6 +130,27 @@ func Test_append_cmd()
|
||||
close!
|
||||
endfunc
|
||||
|
||||
func Test_append_cmd_empty_buf()
|
||||
CheckRunVimInTerminal
|
||||
let lines =<< trim END
|
||||
func Timer(timer)
|
||||
append
|
||||
aaaaa
|
||||
bbbbb
|
||||
.
|
||||
endfunc
|
||||
call timer_start(10, 'Timer')
|
||||
END
|
||||
call writefile(lines, 'Xtest_append_cmd_empty_buf')
|
||||
let buf = RunVimInTerminal('-S Xtest_append_cmd_empty_buf', {'rows': 6})
|
||||
call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))})
|
||||
call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))})
|
||||
|
||||
" clean up
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('Xtest_append_cmd_empty_buf')
|
||||
endfunc
|
||||
|
||||
" Test for the :insert command
|
||||
func Test_insert_cmd()
|
||||
new
|
||||
@ -156,6 +179,27 @@ func Test_insert_cmd()
|
||||
close!
|
||||
endfunc
|
||||
|
||||
func Test_insert_cmd_empty_buf()
|
||||
CheckRunVimInTerminal
|
||||
let lines =<< trim END
|
||||
func Timer(timer)
|
||||
insert
|
||||
aaaaa
|
||||
bbbbb
|
||||
.
|
||||
endfunc
|
||||
call timer_start(10, 'Timer')
|
||||
END
|
||||
call writefile(lines, 'Xtest_insert_cmd_empty_buf')
|
||||
let buf = RunVimInTerminal('-S Xtest_insert_cmd_empty_buf', {'rows': 6})
|
||||
call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))})
|
||||
call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))})
|
||||
|
||||
" clean up
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('Xtest_insert_cmd_empty_buf')
|
||||
endfunc
|
||||
|
||||
" Test for the :change command
|
||||
func Test_change_cmd()
|
||||
new
|
||||
|
@ -749,6 +749,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3952,
|
||||
/**/
|
||||
3951,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user