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)
global
The number of milliseconds to wait for each character sent to the
screen. When non-zero, characters are sent to the terminal one by
one. For debugging purposes.
screen. When positive, characters are sent to the UI one by one.
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:

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))
|| ((*mb_off2cells)(off_from, off_from + cols) > 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.
ui_flush();
assert(p_wd >= 0
&& (sizeof(long) <= sizeof(uint64_t) || p_wd <= UINT64_MAX));
os_delay((uint64_t)p_wd, false);
uint64_t wd = (uint64_t)labs(p_wd);
os_delay(wd, false);
}
}
}