/* Predicate for selecting buffers for other-buffer. */
Lisp_Object buffer_predicate;
- /* Beyond here, there should be no more Lisp_Object components. */
+ /* List of buffers viewed in this frame, for other-buffer. */
+ Lisp_Object buffer_list;
+
+ /* beyond here, there should be no more Lisp_Object components. */
/* A buffer to hold the frame's name. We can't use the Lisp string's
/* The baud rate that was used to calculate costs for this frame. */
int cost_calculation_baud_rate;
+ /* A pointer to the data structure containing all information of
+ fontsets associated with this frame. See the comments in
+ fontset.h for more detail. */
+ struct fontset_data *fontset_data;
+
/* Nonzero if the mouse has moved on this display
since the last time we checked. */
char mouse_moved;
#define FRAME_CONDEMNED_SCROLL_BARS(f) ((f)->condemned_scroll_bars)
#define FRAME_MENU_BAR_ITEMS(f) ((f)->menu_bar_items)
#define FRAME_COST_BAUD_RATE(f) ((f)->cost_calculation_baud_rate)
+#define FRAME_FONTSET_DATA(f) ((f)->fontset_data)
+
+/* Return the size of message_buf of the frame F. We multiply the
+ width of the frame by 4 because multi-byte form may require at most
+ 4-byte for a character. */
+#define FRAME_MESSAGE_BUF_SIZE(f) (((int) (f)->width) * 4)
/* Emacs's redisplay code could become confused if a frame's
visibility changes at arbitrary times. For example, if a frame is