The macro didn't conform to C99 due to type mismatch,
which caused compilation failure with Sun C 5.12,
and it was confusing anyway. Include window.h to declare
redisplay_other_windows.
+2013-12-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * frame.h (SET_FRAME_VISIBLE): Now an inline function.
+ The macro didn't conform to C99 due to type mismatch,
+ which caused compilation failure with Sun C 5.12,
+ and it was confusing anyway. Include window.h to declare
+ redisplay_other_windows.
+
2013-12-08 Stefan Monnier <monnier@iro.umontreal.ca>
* window.c (set_window_buffer): Update mode line (bug#16084).
#include "dispextern.h"
#include "termhooks.h"
+#include "window.h"
INLINE_HEADER_BEGIN
if some changes were applied to it while it wasn't visible (and hence
wasn't redisplayed). */
-#define SET_FRAME_VISIBLE(f, v) \
- (((f)->visible == 0 || ((f)->visible == 2)) && ((v) == 1) \
- ? redisplay_other_windows () : 0, \
- (f)->visible = (eassert (0 <= (v) && (v) <= 2), (v)))
+INLINE void
+SET_FRAME_VISIBLE (struct frame *f, int v)
+{
+ eassert (0 <= v && v <= 2);
+ if (v == 1 && f->visible != 1)
+ redisplay_other_windows ();
+ f->visible = v;
+}
/* Set iconify of frame F. */