* frame.h (SET_FRAME_VISIBLE): Now an inline function.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 8 Dec 2013 05:59:27 +0000 (21:59 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 8 Dec 2013 05:59:27 +0000 (21:59 -0800)
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
src/frame.h

index 2f571aa..5daf1dc 100644 (file)
@@ -1,3 +1,11 @@
+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).
index 8369cf6..0f6a674 100644 (file)
@@ -25,6 +25,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #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.  */