From 95b3d095f8791c9d0a2007f43fa4731401c64c87 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 7 Dec 2013 21:59:27 -0800 Subject: [PATCH] * 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. --- src/ChangeLog | 8 ++++++++ src/frame.h | 13 +++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 2f571aa7b1d..5daf1dc5a7c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2013-12-08 Paul Eggert + + * 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 * window.c (set_window_buffer): Update mode line (bug#16084). diff --git a/src/frame.h b/src/frame.h index 8369cf6b17e..0f6a674dc06 100644 --- a/src/frame.h +++ b/src/frame.h @@ -25,6 +25,7 @@ along with GNU Emacs. If not, see . */ #include "dispextern.h" #include "termhooks.h" +#include "window.h" INLINE_HEADER_BEGIN @@ -956,10 +957,14 @@ default_pixels_per_inch_y (void) 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. */ -- 2.39.2