update.
[chise/xemacs-chise.git.1] / src / window.h
index 8144a47..8a79336 100644 (file)
@@ -300,6 +300,13 @@ DECLARE_LRECORD (window, struct window);
     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))
@@ -310,7 +317,7 @@ DECLARE_LRECORD (window_configuration, struct window_config);
 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);
@@ -354,6 +361,7 @@ int window_left_gutter_width (struct window *w, int modeline);
 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,
@@ -387,9 +395,13 @@ int invalidate_vertical_divider_cache_in_window (struct window *w,
 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)