patch 8.1.1403: cannot build without the timer feature
Problem: Cannot build without the timer feature.
Solution: Add #ifdef.
diff --git a/src/popupwin.c b/src/popupwin.c
index f08f784..116efcb 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -30,6 +30,7 @@
wp->w_wincol = dict_get_number(dict, (char_u *)"col");
wp->w_zindex = dict_get_number(dict, (char_u *)"zindex");
+#if defined(FEAT_TIMERS)
// Add timer to close the popup after some time.
nr = dict_get_number(dict, (char_u *)"time");
if (nr > 0)
@@ -49,6 +50,7 @@
wp->w_popup_timer->tr_partial = tv.vval.v_partial;
}
}
+#endif
}
diff --git a/src/structs.h b/src/structs.h
index 7ead00c..ca7c540 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -2874,7 +2874,9 @@
int w_zindex;
int w_maxheight; // "maxheight" for popup window
int w_maxwidth; // "maxwidth" for popup window
+# if defined(FEAT_TIMERS)
timer_T *w_popup_timer; // timer for closing popup window
+# endif
#endif
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 0f48cbd..b6b8a9e 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -39,6 +39,9 @@
endfunc
func Test_popup_time()
+ if !has('timers')
+ return
+ endif
topleft vnew
call setline(1, 'hello')
@@ -52,6 +55,7 @@
call assert_equal('world', line)
sleep 700m
+ redraw
let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '')
call assert_equal('hello', line)
diff --git a/src/version.c b/src/version.c
index f974b6b..4dbff0b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1403,
+/**/
1402,
/**/
1401,
diff --git a/src/window.c b/src/window.c
index 2cd35a4..95b97d8 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4859,6 +4859,7 @@
return wp == aucmd_win || bt_popup(wp->w_buffer);
}
+#if defined(FEAT_TEXT_PROP) || defined(PROTO)
/*
* Free a popup window. This does not take the window out of the window list
* and assumes there is only one toplevel frame, no split.
@@ -4867,11 +4868,14 @@
win_free_popup(win_T *win)
{
win_close_buffer(win, TRUE, FALSE);
+# if defined(FEAT_TIMERS)
if (win->w_popup_timer != NULL)
stop_timer(win->w_popup_timer);
+# endif
vim_free(win->w_frame);
win_free(win, NULL);
}
+#endif
/*
* Append window "wp" in the window list after window "after".