patch 9.0.0288: when 'cmdheight' is zero some messages are not displayed
Problem: When 'cmdheight' is zero some messages are not displayed.
Solution: Use a popup notification window.
diff --git a/src/time.c b/src/time.c
index dc8594a..c28e7a9 100644
--- a/src/time.c
+++ b/src/time.c
@@ -464,11 +464,21 @@
timer->tr_repeat = repeat - 1;
timer->tr_interval = msec;
- profile_setlimit(msec, &timer->tr_due);
+ timer_start(timer);
return timer;
}
/*
+ * (Re)start a timer.
+ */
+ void
+timer_start(timer_T *timer)
+{
+ profile_setlimit(timer->tr_interval, &timer->tr_due);
+ timer->tr_paused = FALSE;
+}
+
+/*
* Invoke the callback of "timer".
*/
static void
@@ -603,8 +613,13 @@
else
{
this_due = -1;
- remove_timer(timer);
- free_timer(timer);
+ if (timer->tr_keep)
+ timer->tr_paused = TRUE;
+ else
+ {
+ remove_timer(timer);
+ free_timer(timer);
+ }
}
}
if (this_due > 0 && (next_due == -1 || next_due > this_due))
@@ -826,6 +841,7 @@
else
{
int paused = (int)tv_get_bool(&argvars[1]);
+
timer = find_timer((int)tv_get_number(&argvars[0]));
if (timer != NULL)
timer->tr_paused = paused;