changeset 13559:af68603e213d v8.0.1653

patch 8.0.1653: screen dump is made too soon commit https://github.com/vim/vim/commit/1834d37396e046ccbc4aa2678ba16a38197da6b4 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Mar 29 17:40:46 2018 +0200 patch 8.0.1653: screen dump is made too soon Problem: Screen dump is made too soon. Solution: Wait until the ruler is displayed. (Ozaki Kiichi, closes https://github.com/vim/vim/issues/2755)
author Christian Brabandt <cb@256bit.org>
date Thu, 29 Mar 2018 17:45:07 +0200
parents 6b2e00ec807e
children 197a3a32eff0
files src/testdir/dumps/Test_popup_command_01.dump src/testdir/dumps/Test_popup_command_02.dump src/testdir/screendump.vim src/testdir/test_autocmd.vim src/testdir/test_terminal.vim src/version.c
diffstat 6 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/dumps/Test_popup_command_01.dump
+++ b/src/testdir/dumps/Test_popup_command_01.dump
@@ -1,5 +1,5 @@
 |o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @51
-|a|n|d| |o|n|e| |t|w|o| |X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
+|a|n|d| |o|n|e| |t|w|o| >X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
 |o|n|e| |m|o|r|e| |t|w| +0#0000001#ffd7ff255|U|n|d|o| @12| +0#0000000#ffffff0@45
 |~+0#4040ff13&| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45
 |~| @9| +0#0000001#ffd7ff255|P|a|s|t|e| @11| +0#4040ff13#ffffff0@45
@@ -17,4 +17,4 @@
 |~| @73
 |~| @73
 |~| @73
-|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @34|:| @8> @17
+|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @62
--- a/src/testdir/dumps/Test_popup_command_02.dump
+++ b/src/testdir/dumps/Test_popup_command_02.dump
@@ -17,4 +17,4 @@
 |~| @73
 |~| @73
 |~| @73
-|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @34|:| @8| @17
+|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @62
--- a/src/testdir/screendump.vim
+++ b/src/testdir/screendump.vim
@@ -59,6 +59,9 @@ func RunVimInTerminal(arguments, options
   let buf = term_start(cmd, {'curwin': 1, 'term_rows': rows, 'term_cols': cols})
   call assert_equal([rows, cols], term_getsize(buf))
 
+  " Wait for the ruler (in the status line) to be shown.
+  call WaitFor({-> len(term_getline(buf, rows)) >= cols - 1})
+
   return buf
 endfunc
 
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -1315,6 +1315,8 @@ func Test_Changed_FirstTime()
   call writefile([''], 'Xchanged.txt')
   let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': 3})
   call assert_equal('running', term_getstatus(buf))
+  " Wait for the ruler (in the status line) to be shown.
+  call WaitFor({-> term_getline(buf, 3) =~# '\<All$'})
   " It's only adding autocmd, so that no event occurs.
   call term_sendkeys(buf, ":au! TextChanged <buffer> call writefile(['No'], 'Xchanged.txt')\<cr>")
   call term_sendkeys(buf, "\<C-\\>\<C-N>:qa!\<cr>")
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -975,7 +975,7 @@ endfunction
 func Check_dump01(off)
   call assert_equal('one two three four five', trim(getline(a:off + 1)))
   call assert_equal('~           Select Word', trim(getline(a:off + 7)))
-  call assert_equal(':popup PopUp                                   :', trim(getline(a:off + 20)))
+  call assert_equal(':popup PopUp', trim(getline(a:off + 20)))
 endfunc
 
 func Test_terminal_dumpwrite_composing()
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1653,
+/**/
     1652,
 /**/
     1651,