windows_changed = 1; \
} while (0)
+/* #### This should be fixed not to call MARK_FRAME_CHANGED because
+ faces are cached per window. Also, other code which changes window's
+ face should use this macro.
+*/
+#define MARK_WINDOW_FACES_CHANGED(w) \
+ MARK_FRAME_FACES_CHANGED (XFRAME ((w)->frame))
+
#define WINDOW_TTY_P(w) FRAME_TTY_P (XFRAME ((w)->frame))
#define WINDOW_X_P(w) FRAME_X_P (XFRAME ((w)->frame))
#define WINDOW_NS_P(w) FRAME_NS_P (XFRAME ((w)->frame))
EXFUN (Fget_buffer_window, 3);
EXFUN (Fmove_to_window_line, 2);
EXFUN (Frecenter, 2);
-EXFUN (Freplace_buffer_in_windows, 1);
+EXFUN (Freplace_buffer_in_windows, 3);
EXFUN (Fselect_window, 2);
EXFUN (Fselected_window, 1);
EXFUN (Fset_window_buffer, 3);
int window_right_gutter_width (struct window *w, int modeline);
void delete_all_subwindows (struct window *w);
+void undedicate_windows (Lisp_Object buffer, Lisp_Object frame);
void set_window_pixheight (Lisp_Object window, int pixheight,
int nodelete);
void set_window_pixwidth (Lisp_Object window, int pixwidth,
int window_divider_width (struct window *w);
#define WINDOW_FRAME(w) ((w)->frame)
+#define WINDOW_XFRAME(w) XFRAME (WINDOW_FRAME (w))
#define WINDOW_BUFFER(w) ((w)->buffer)
+#define WINDOW_XBUFFER(w) XBUFFER (WINDOW_BUFFER (w))
#define WINDOW_DEVICE(w) FRAME_DEVICE (XFRAME (WINDOW_FRAME (w)))
+#define WINDOW_XDEVICE(w) XDEVICE (WINDOW_DEVICE (w))
#define WINDOW_CONSOLE(w) DEVICE_CONSOLE (XDEVICE (WINDOW_DEVICE (w)))
+#define WINDOW_XCONSOLE(w) XCONSOLE (WINDOW_CONSOLE (w))
/* XEmacs window size and positioning macros. */
#define WINDOW_TOP(w) ((w)->pixel_top)