mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Problem: When using ":sleep" the cursor is always displayed. Solution: Do not display the cursor when using ":sleep!". (Jeremy Lerner, closes #7688)
This commit is contained in:
@@ -7225,14 +7225,17 @@ ex_sleep(exarg_T *eap)
|
||||
case NUL: len *= 1000L; break;
|
||||
default: semsg(_(e_invarg2), eap->arg); return;
|
||||
}
|
||||
do_sleep(len);
|
||||
|
||||
// Hide the cursor if invoked with !
|
||||
do_sleep(len, eap->forceit);
|
||||
}
|
||||
|
||||
/*
|
||||
* Sleep for "msec" milliseconds, but keep checking for a CTRL-C every second.
|
||||
* Hide the cursor if "hide_cursor" is TRUE.
|
||||
*/
|
||||
void
|
||||
do_sleep(long msec)
|
||||
do_sleep(long msec, int hide_cursor)
|
||||
{
|
||||
long done = 0;
|
||||
long wait_now;
|
||||
@@ -7244,7 +7247,11 @@ do_sleep(long msec)
|
||||
ELAPSED_INIT(start_tv);
|
||||
# endif
|
||||
|
||||
cursor_on();
|
||||
if (hide_cursor)
|
||||
cursor_off();
|
||||
else
|
||||
cursor_on();
|
||||
|
||||
out_flush_cursor(FALSE, FALSE);
|
||||
while (!got_int && done < msec)
|
||||
{
|
||||
|
Reference in New Issue
Block a user