Patch 8.2.3952

6 views
Skip to first unread message

Bram Moolenaar

unread,
Dec 31, 2021, 7:21:09 AM12/31/21
to vim...@googlegroups.com

Patch 8.2.3952
Problem: First line not redrawn when adding lines to an empty buffer.
Solution: Adjust the argument to appended_lines(). (closes #9439,
closes #9438)
Files: src/ex_cmds.c, src/testdir/test_excmd.vim


*** ../vim-8.2.3951/src/ex_cmds.c 2021-12-27 17:21:38.004449137 +0000
--- src/ex_cmds.c 2021-12-31 12:18:39.495787578 +0000
***************
*** 3359,3365 ****

did_undo = TRUE;
ml_append(lnum, theline, (colnr_T)0, FALSE);
! appended_lines_mark(lnum + (empty ? 1 : 0), 1L);

vim_free(theline);
++lnum;
--- 3359,3369 ----

did_undo = TRUE;
ml_append(lnum, theline, (colnr_T)0, FALSE);
! if (empty)
! // there are no marks below the inserted lines
! appended_lines(lnum, 1L);
! else
! appended_lines_mark(lnum, 1L);

vim_free(theline);
++lnum;
*** ../vim-8.2.3951/src/testdir/test_excmd.vim 2021-11-24 12:17:49.168449919 +0000
--- src/testdir/test_excmd.vim 2021-12-31 12:12:18.319592972 +0000
***************
*** 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,133 ****
--- 130,156 ----
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,161 ****
--- 179,205 ----
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
*** ../vim-8.2.3951/src/version.c 2021-12-30 17:09:01.491005356 +0000
--- src/version.c 2021-12-31 12:14:11.039690103 +0000
***************
*** 751,752 ****
--- 751,754 ----
{ /* Add new patch number below this line */
+ /**/
+ 3952,
/**/

--
Microsoft says that MS-Windows is much better for you than Linux.
That's like the Pope saying that catholicism is much better for
you than protestantism.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages