aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1994-12-21 22:27:25 +0000
committerRichard M. Stallman1994-12-21 22:27:25 +0000
commit21015f9c301cf5f21ac7ad397566364ef5081ea0 (patch)
tree689e229a7c111ae21a82accbae19de6ed5145c44 /src
parent329ca57419d446fed5d2f6b327cecf2777bca1b2 (diff)
downloademacs-21015f9c301cf5f21ac7ad397566364ef5081ea0.tar.gz
emacs-21015f9c301cf5f21ac7ad397566364ef5081ea0.zip
(struct frame): New field buffer_predicate.
Move all the Lisp_Object fields to the top.
Diffstat (limited to 'src')
-rw-r--r--src/frame.h102
1 files changed, 56 insertions, 46 deletions
diff --git a/src/frame.h b/src/frame.h
index f21d4dcf64e..0196b7a6f4b 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -44,45 +44,9 @@ struct frame
44 EMACS_INT size; 44 EMACS_INT size;
45 struct Lisp_Vector *next; 45 struct Lisp_Vector *next;
46 46
47 /* glyphs as they appear on the frame */ 47 /* All Lisp_Object components must come first.
48 struct frame_glyphs *current_glyphs; 48 Only EMACS_INT values can be intermixed with them.
49 49 That ensures they are all aligned normally. */
50 /* glyphs we'd like to appear on the frame */
51 struct frame_glyphs *desired_glyphs;
52
53 /* See do_line_insertion_deletion_costs for info on these arrays. */
54 /* Cost of inserting 1 line on this frame */
55 int *insert_line_cost;
56 /* Cost of deleting 1 line on this frame */
57 int *delete_line_cost;
58 /* Cost of inserting n lines on this frame */
59 int *insert_n_lines_cost;
60 /* Cost of deleting n lines on this frame */
61 int *delete_n_lines_cost;
62
63 /* glyphs for the mode line */
64 struct frame_glyphs *temp_glyphs;
65
66 /* Intended cursor position of this frame.
67 Measured in characters, counting from upper left corner
68 within the frame. */
69 int cursor_x;
70 int cursor_y;
71
72 /* Actual cursor position of this frame, and the character under it.
73 (Not used for terminal frames.) */
74 int phys_cursor_x;
75 int phys_cursor_y;
76 /* This is handy for undrawing the cursor, because current_glyphs is
77 not always accurate when in do_scrolling. */
78 GLYPH phys_cursor_glyph;
79
80 /* Size of this frame, in units of characters. */
81 EMACS_INT height;
82 EMACS_INT width;
83
84 /* New height and width for pending size change. 0 if no change pending. */
85 int new_height, new_width;
86 50
87 /* Name of this frame: a Lisp string. See also `explicit_name'. */ 51 /* Name of this frame: a Lisp string. See also `explicit_name'. */
88 Lisp_Object name; 52 Lisp_Object name;
@@ -140,6 +104,59 @@ struct frame
140 /* Alist of elements (FACE-NAME . FACE-VECTOR-DATA). */ 104 /* Alist of elements (FACE-NAME . FACE-VECTOR-DATA). */
141 Lisp_Object face_alist; 105 Lisp_Object face_alist;
142 106
107 /* A vector that records the entire structure of this frame's menu bar.
108 For the format of the data, see extensive comments in xmenu.c.
109 Only the X toolkit version uses this. */
110 Lisp_Object menu_bar_vector;
111 /* Number of elements in the vector that have meaningful data. */
112 EMACS_INT menu_bar_items_used;
113
114 /* Predicate for selecting buffers for other-buffer. */
115 Lisp_Object buffer_predicate;
116
117 /* Beyond here, there should be no more Lisp_Object components. */
118
119
120 /* glyphs as they appear on the frame */
121 struct frame_glyphs *current_glyphs;
122
123 /* glyphs we'd like to appear on the frame */
124 struct frame_glyphs *desired_glyphs;
125
126 /* See do_line_insertion_deletion_costs for info on these arrays. */
127 /* Cost of inserting 1 line on this frame */
128 int *insert_line_cost;
129 /* Cost of deleting 1 line on this frame */
130 int *delete_line_cost;
131 /* Cost of inserting n lines on this frame */
132 int *insert_n_lines_cost;
133 /* Cost of deleting n lines on this frame */
134 int *delete_n_lines_cost;
135
136 /* glyphs for the mode line */
137 struct frame_glyphs *temp_glyphs;
138
139 /* Intended cursor position of this frame.
140 Measured in characters, counting from upper left corner
141 within the frame. */
142 int cursor_x;
143 int cursor_y;
144
145 /* Actual cursor position of this frame, and the character under it.
146 (Not used for terminal frames.) */
147 int phys_cursor_x;
148 int phys_cursor_y;
149 /* This is handy for undrawing the cursor, because current_glyphs is
150 not always accurate when in do_scrolling. */
151 GLYPH phys_cursor_glyph;
152
153 /* Size of this frame, in units of characters. */
154 EMACS_INT height;
155 EMACS_INT width;
156
157 /* New height and width for pending size change. 0 if no change pending. */
158 int new_height, new_width;
159
143 /* The output method says how the contents of this frame 160 /* The output method says how the contents of this frame
144 are displayed. It could be using termcap, or using an X window. */ 161 are displayed. It could be using termcap, or using an X window. */
145 enum output_method output_method; 162 enum output_method output_method;
@@ -234,13 +251,6 @@ struct frame
234 for lines beyond a certain vpos. This is the vpos. */ 251 for lines beyond a certain vpos. This is the vpos. */
235 int scroll_bottom_vpos; 252 int scroll_bottom_vpos;
236 253
237 /* A vector that records the entire structure of this frame's menu bar.
238 For the format of the data, see extensive comments in xmenu.c.
239 Only the X toolkit version uses this. */
240 Lisp_Object menu_bar_vector;
241 /* Number of elements in the vector that have meaningful data. */
242 int menu_bar_items_used;
243
244 /* Width of the scroll bar, in pixels and in characters. 254 /* Width of the scroll bar, in pixels and in characters.
245 scroll_bar_cols tracks scroll_bar_pixel_width if the latter is positive; 255 scroll_bar_cols tracks scroll_bar_pixel_width if the latter is positive;
246 a zero value in scroll_bar_pixel_width means to compute the actual width 256 a zero value in scroll_bar_pixel_width means to compute the actual width