Merge pull request #8055 from bfredl/strictwritedelay

make 'writedelay' show all redraws when negative
This commit is contained in:
Björn Linse 2018-02-24 09:40:20 +01:00 committed by GitHub
commit f72630b784
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 6 deletions

View File

@ -6922,7 +6922,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'writedelay' 'wd' number (default 0) 'writedelay' 'wd' number (default 0)
global global
The number of milliseconds to wait for each character sent to the The number of milliseconds to wait for each character sent to the
screen. When non-zero, characters are sent to the terminal one by screen. When positive, characters are sent to the UI one by one.
one. For debugging purposes. When negative, all redrawn characters cause a delay, even if the
character already was displayed by the UI. For debugging purposes.
vim:tw=78:ts=8:ft=help:noet:norl: vim:tw=78:ts=8:ft=help:noet:norl:

View File

@ -4361,7 +4361,8 @@ static int char_needs_redraw(int off_from, int off_to, int cols)
&& comp_char_differs(off_from, off_to)) && comp_char_differs(off_from, off_to))
|| ((*mb_off2cells)(off_from, off_from + cols) > 1 || ((*mb_off2cells)(off_from, off_from + cols) > 1
&& ScreenLines[off_from + 1] && ScreenLines[off_from + 1]
!= ScreenLines[off_to + 1]))))); != ScreenLines[off_to + 1])))
|| p_wd < 0));
} }
/* /*

View File

@ -437,9 +437,8 @@ void ui_puts(uint8_t *str)
if (p_wd) { // 'writedelay': flush & delay each time. if (p_wd) { // 'writedelay': flush & delay each time.
ui_flush(); ui_flush();
assert(p_wd >= 0 uint64_t wd = (uint64_t)labs(p_wd);
&& (sizeof(long) <= sizeof(uint64_t) || p_wd <= UINT64_MAX)); os_delay(wd, false);
os_delay((uint64_t)p_wd, false);
} }
} }
} }