aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2012-08-17 14:52:15 -0700
committerPaul Eggert2012-08-17 14:52:15 -0700
commitf00af5b1c24515f20f96cfd8d59983ab62fb3f25 (patch)
treefbb0f748b8de748ee3e722c9cc3647caea32fe1c /src
parent0c94c8d603031f6b665ae7f3136ca77fb573fd7e (diff)
downloademacs-f00af5b1c24515f20f96cfd8d59983ab62fb3f25.tar.gz
emacs-f00af5b1c24515f20f96cfd8d59983ab62fb3f25.zip
* frame.h (FSET): Remove (Bug#12215).
Replace all uses with calls to new setter functions. Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. (FRAME_INLINE): New macro. (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars) (fset_current_tool_bar_string, fset_desired_tool_bar_string) (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items) (fset_menu_bar_vector, fset_menu_bar_window, fset_name) (fset_param_alist, fset_root_window, fset_scroll_bars) (fset_selected_window, fset_title, fset_tool_bar_items) (fset_tool_bar_position, fset_tool_bar_window): New functions. * frame.c (FRAME_INLINE): Define to EXTERN_INLINE, so that the corresponding functions are compiled into code. (fset_buffer_predicate, fset_minibuffer_window): New setter functions.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog16
-rw-r--r--src/buffer.c10
-rw-r--r--src/dispnew.c12
-rw-r--r--src/dosfns.c2
-rw-r--r--src/frame.c63
-rw-r--r--src/frame.h114
-rw-r--r--src/nsfns.m22
-rw-r--r--src/nsmenu.m4
-rw-r--r--src/nsterm.m2
-rw-r--r--src/w32fns.c26
-rw-r--r--src/w32menu.c6
-rw-r--r--src/w32term.c14
-rw-r--r--src/window.c35
-rw-r--r--src/xdisp.c8
-rw-r--r--src/xfaces.c2
-rw-r--r--src/xfns.c32
-rw-r--r--src/xmenu.c6
-rw-r--r--src/xterm.c14
18 files changed, 264 insertions, 124 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 7b8bf5e52ad..6cb475ef3d7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,21 @@
12012-08-17 Paul Eggert <eggert@cs.ucla.edu> 12012-08-17 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 * frame.h (FSET): Remove (Bug#12215).
4 Replace all uses with calls to new setter functions.
5 Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
6 (FRAME_INLINE): New macro.
7 (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars)
8 (fset_current_tool_bar_string, fset_desired_tool_bar_string)
9 (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items)
10 (fset_menu_bar_vector, fset_menu_bar_window, fset_name)
11 (fset_param_alist, fset_root_window, fset_scroll_bars)
12 (fset_selected_window, fset_title, fset_tool_bar_items)
13 (fset_tool_bar_position, fset_tool_bar_window): New functions.
14 * frame.c (FRAME_INLINE):
15 Define to EXTERN_INLINE, so that the corresponding functions
16 are compiled into code.
17 (fset_buffer_predicate, fset_minibuffer_window): New setter functions.
18
3 A few more naming-convention fixes for getters and setters. 19 A few more naming-convention fixes for getters and setters.
4 * buffer.c (set_buffer_overlays_before): Move here from buffer.h, 20 * buffer.c (set_buffer_overlays_before): Move here from buffer.h,
5 and rename from buffer_overlays_set_before. 21 and rename from buffer_overlays_set_before.
diff --git a/src/buffer.c b/src/buffer.c
index 75377abb758..476f2e363b9 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1783,8 +1783,8 @@ record_buffer (Lisp_Object buffer)
1783 Vinhibit_quit = tem; 1783 Vinhibit_quit = tem;
1784 1784
1785 /* Update buffer list of selected frame. */ 1785 /* Update buffer list of selected frame. */
1786 FSET (f, buffer_list, Fcons (buffer, Fdelq (buffer, f->buffer_list))); 1786 fset_buffer_list (f, Fcons (buffer, Fdelq (buffer, f->buffer_list)));
1787 FSET (f, buried_buffer_list, Fdelq (buffer, f->buried_buffer_list)); 1787 fset_buried_buffer_list (f, Fdelq (buffer, f->buried_buffer_list));
1788 1788
1789 /* Run buffer-list-update-hook. */ 1789 /* Run buffer-list-update-hook. */
1790 if (!NILP (Vrun_hooks)) 1790 if (!NILP (Vrun_hooks))
@@ -1821,9 +1821,9 @@ DEFUN ("bury-buffer-internal", Fbury_buffer_internal, Sbury_buffer_internal,
1821 Vinhibit_quit = tem; 1821 Vinhibit_quit = tem;
1822 1822
1823 /* Update buffer lists of selected frame. */ 1823 /* Update buffer lists of selected frame. */
1824 FSET (f, buffer_list, Fdelq (buffer, f->buffer_list)); 1824 fset_buffer_list (f, Fdelq (buffer, f->buffer_list));
1825 FSET (f, buried_buffer_list, 1825 fset_buried_buffer_list
1826 Fcons (buffer, Fdelq (buffer, f->buried_buffer_list))); 1826 (f, Fcons (buffer, Fdelq (buffer, f->buried_buffer_list)));
1827 1827
1828 /* Run buffer-list-update-hook. */ 1828 /* Run buffer-list-update-hook. */
1829 if (!NILP (Vrun_hooks)) 1829 if (!NILP (Vrun_hooks))
diff --git a/src/dispnew.c b/src/dispnew.c
index 3288faba61b..88672934b24 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -2166,7 +2166,7 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
2166 if (NILP (f->menu_bar_window)) 2166 if (NILP (f->menu_bar_window))
2167 { 2167 {
2168 Lisp_Object frame; 2168 Lisp_Object frame;
2169 FSET (f, menu_bar_window, make_window ()); 2169 fset_menu_bar_window (f, make_window ());
2170 w = XWINDOW (f->menu_bar_window); 2170 w = XWINDOW (f->menu_bar_window);
2171 XSETFRAME (frame, f); 2171 XSETFRAME (frame, f);
2172 WSET (w, frame, frame); 2172 WSET (w, frame, frame);
@@ -2194,7 +2194,7 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
2194 if (NILP (f->tool_bar_window)) 2194 if (NILP (f->tool_bar_window))
2195 { 2195 {
2196 Lisp_Object frame; 2196 Lisp_Object frame;
2197 FSET (f, tool_bar_window, make_window ()); 2197 fset_tool_bar_window (f, make_window ());
2198 w = XWINDOW (f->tool_bar_window); 2198 w = XWINDOW (f->tool_bar_window);
2199 XSETFRAME (frame, f); 2199 XSETFRAME (frame, f);
2200 WSET (w, frame, frame); 2200 WSET (w, frame, frame);
@@ -2272,7 +2272,7 @@ free_glyphs (struct frame *f)
2272 free_glyph_matrix (w->desired_matrix); 2272 free_glyph_matrix (w->desired_matrix);
2273 free_glyph_matrix (w->current_matrix); 2273 free_glyph_matrix (w->current_matrix);
2274 w->desired_matrix = w->current_matrix = NULL; 2274 w->desired_matrix = w->current_matrix = NULL;
2275 FSET (f, menu_bar_window, Qnil); 2275 fset_menu_bar_window (f, Qnil);
2276 } 2276 }
2277 2277
2278 /* Free the tool bar window and its glyph matrices. */ 2278 /* Free the tool bar window and its glyph matrices. */
@@ -2282,7 +2282,7 @@ free_glyphs (struct frame *f)
2282 free_glyph_matrix (w->desired_matrix); 2282 free_glyph_matrix (w->desired_matrix);
2283 free_glyph_matrix (w->current_matrix); 2283 free_glyph_matrix (w->current_matrix);
2284 w->desired_matrix = w->current_matrix = NULL; 2284 w->desired_matrix = w->current_matrix = NULL;
2285 FSET (f, tool_bar_window, Qnil); 2285 fset_tool_bar_window (f, Qnil);
2286 } 2286 }
2287 2287
2288 /* Release frame glyph matrices. Reset fields to zero in 2288 /* Release frame glyph matrices. Reset fields to zero in
@@ -3220,8 +3220,8 @@ update_frame (struct frame *f, int force_p, int inhibit_hairy_id_p)
3220 /* Swap tool-bar strings. We swap because we want to 3220 /* Swap tool-bar strings. We swap because we want to
3221 reuse strings. */ 3221 reuse strings. */
3222 tem = f->current_tool_bar_string; 3222 tem = f->current_tool_bar_string;
3223 FSET (f, current_tool_bar_string, f->desired_tool_bar_string); 3223 fset_current_tool_bar_string (f, f->desired_tool_bar_string);
3224 FSET (f, desired_tool_bar_string, tem); 3224 fset_desired_tool_bar_string (f, tem);
3225 } 3225 }
3226 } 3226 }
3227 3227
diff --git a/src/dosfns.c b/src/dosfns.c
index e3adf25d79f..21676f4b4f5 100644
--- a/src/dosfns.c
+++ b/src/dosfns.c
@@ -473,7 +473,7 @@ x_set_title (struct frame *f, Lisp_Object name)
473 473
474 update_mode_lines = 1; 474 update_mode_lines = 1;
475 475
476 FSET (f, title, name); 476 fset_title (f, name);
477 477
478 if (NILP (name)) 478 if (NILP (name))
479 name = f->name; 479 name = f->name;
diff --git a/src/frame.c b/src/frame.c
index f033ac21c24..0871100da2b 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -19,6 +19,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20#include <config.h> 20#include <config.h>
21 21
22#define FRAME_INLINE EXTERN_INLINE
23
22#include <stdio.h> 24#include <stdio.h>
23#include <errno.h> 25#include <errno.h>
24#include <limits.h> 26#include <limits.h>
@@ -127,6 +129,18 @@ static Lisp_Object Qdelete_frame_functions;
127static void x_report_frame_params (struct frame *, Lisp_Object *); 129static void x_report_frame_params (struct frame *, Lisp_Object *);
128#endif 130#endif
129 131
132/* These setters are used only in this file, so they can be private. */
133static inline void
134fset_buffer_predicate (struct frame *f, Lisp_Object val)
135{
136 f->buffer_predicate = val;
137}
138static inline void
139fset_minibuffer_window (struct frame *f, Lisp_Object val)
140{
141 f->minibuffer_window = val;
142}
143
130 144
131static void 145static void
132set_menu_bar_lines_1 (Lisp_Object window, int n) 146set_menu_bar_lines_1 (Lisp_Object window, int n)
@@ -271,7 +285,7 @@ make_frame (int mini_p)
271 285
272 /* Initialize Lisp data. Note that allocate_frame initializes all 286 /* Initialize Lisp data. Note that allocate_frame initializes all
273 Lisp data to nil, so do it only for slots which should not be nil. */ 287 Lisp data to nil, so do it only for slots which should not be nil. */
274 FSET (f, tool_bar_position, Qtop); 288 fset_tool_bar_position (f, Qtop);
275 289
276 /* Initialize non-Lisp data. Note that allocate_frame zeroes out all 290 /* Initialize non-Lisp data. Note that allocate_frame zeroes out all
277 non-Lisp data, so do it only for slots which should not be zero. 291 non-Lisp data, so do it only for slots which should not be zero.
@@ -295,13 +309,13 @@ make_frame (int mini_p)
295 WSET (XWINDOW (mini_window), prev, root_window); 309 WSET (XWINDOW (mini_window), prev, root_window);
296 XWINDOW (mini_window)->mini = 1; 310 XWINDOW (mini_window)->mini = 1;
297 WSET (XWINDOW (mini_window), frame, frame); 311 WSET (XWINDOW (mini_window), frame, frame);
298 FSET (f, minibuffer_window, mini_window); 312 fset_minibuffer_window (f, mini_window);
299 } 313 }
300 else 314 else
301 { 315 {
302 mini_window = Qnil; 316 mini_window = Qnil;
303 WSET (XWINDOW (root_window), next, Qnil); 317 WSET (XWINDOW (root_window), next, Qnil);
304 FSET (f, minibuffer_window, Qnil); 318 fset_minibuffer_window (f, Qnil);
305 } 319 }
306 320
307 WSET (XWINDOW (root_window), frame, frame); 321 WSET (XWINDOW (root_window), frame, frame);
@@ -341,7 +355,7 @@ make_frame (int mini_p)
341 etc. Running Lisp functions at this point surely ends in a 355 etc. Running Lisp functions at this point surely ends in a
342 SEGV. */ 356 SEGV. */
343 set_window_buffer (root_window, buf, 0, 0); 357 set_window_buffer (root_window, buf, 0, 0);
344 FSET (f, buffer_list, Fcons (buf, Qnil)); 358 fset_buffer_list (f, Fcons (buf, Qnil));
345 } 359 }
346 360
347 if (mini_p) 361 if (mini_p)
@@ -354,8 +368,8 @@ make_frame (int mini_p)
354 0, 0); 368 0, 0);
355 } 369 }
356 370
357 FSET (f, root_window, root_window); 371 fset_root_window (f, root_window);
358 FSET (f, selected_window, root_window); 372 fset_selected_window (f, root_window);
359 /* Make sure this window seems more recently used than 373 /* Make sure this window seems more recently used than
360 a newly-created, never-selected window. */ 374 a newly-created, never-selected window. */
361 XWINDOW (f->selected_window)->use_time = ++window_select_count; 375 XWINDOW (f->selected_window)->use_time = ++window_select_count;
@@ -404,7 +418,7 @@ make_frame_without_minibuffer (register Lisp_Object mini_window, KBOARD *kb, Lis
404 = XFRAME (KVAR (kb, Vdefault_minibuffer_frame))->minibuffer_window; 418 = XFRAME (KVAR (kb, Vdefault_minibuffer_frame))->minibuffer_window;
405 } 419 }
406 420
407 FSET (f, minibuffer_window, mini_window); 421 fset_minibuffer_window (f, mini_window);
408 422
409 /* Make the chosen minibuffer window display the proper minibuffer, 423 /* Make the chosen minibuffer window display the proper minibuffer,
410 unless it is already showing a minibuffer. */ 424 unless it is already showing a minibuffer. */
@@ -441,7 +455,8 @@ make_minibuffer_frame (void)
441 Avoid infinite looping on the window chain by marking next pointer 455 Avoid infinite looping on the window chain by marking next pointer
442 as nil. */ 456 as nil. */
443 457
444 mini_window = FSET (f, minibuffer_window, f->root_window); 458 mini_window = f->root_window;
459 fset_minibuffer_window (f, mini_window);
445 XWINDOW (mini_window)->mini = 1; 460 XWINDOW (mini_window)->mini = 1;
446 WSET (XWINDOW (mini_window), next, Qnil); 461 WSET (XWINDOW (mini_window), next, Qnil);
447 WSET (XWINDOW (mini_window), prev, Qnil); 462 WSET (XWINDOW (mini_window), prev, Qnil);
@@ -484,7 +499,7 @@ make_initial_frame (void)
484 Vframe_list = Fcons (frame, Vframe_list); 499 Vframe_list = Fcons (frame, Vframe_list);
485 500
486 tty_frame_count = 1; 501 tty_frame_count = 1;
487 FSET (f, name, build_pure_c_string ("F1")); 502 fset_name (f, build_pure_c_string ("F1"));
488 503
489 f->visible = 1; 504 f->visible = 1;
490 f->async_visible = 1; 505 f->async_visible = 1;
@@ -525,7 +540,7 @@ make_terminal_frame (struct terminal *terminal)
525 XSETFRAME (frame, f); 540 XSETFRAME (frame, f);
526 Vframe_list = Fcons (frame, Vframe_list); 541 Vframe_list = Fcons (frame, Vframe_list);
527 542
528 FSET (f, name, make_formatted_string (name, "F%"pMd, ++tty_frame_count)); 543 fset_name (f, make_formatted_string (name, "F%"pMd, ++tty_frame_count));
529 544
530 f->visible = 1; /* FRAME_SET_VISIBLE wd set frame_garbaged. */ 545 f->visible = 1; /* FRAME_SET_VISIBLE wd set frame_garbaged. */
531 f->async_visible = 1; /* Don't let visible be cleared later. */ 546 f->async_visible = 1; /* Don't let visible be cleared later. */
@@ -695,7 +710,7 @@ affects all frames on the same terminal device. */)
695 710
696 /* Make the frame face alist be frame-specific, so that each 711 /* Make the frame face alist be frame-specific, so that each
697 frame could change its face definitions independently. */ 712 frame could change its face definitions independently. */
698 FSET (f, face_alist, Fcopy_alist (sf->face_alist)); 713 fset_face_alist (f, Fcopy_alist (sf->face_alist));
699 /* Simple Fcopy_alist isn't enough, because we need the contents of 714 /* Simple Fcopy_alist isn't enough, because we need the contents of
700 the vectors which are the CDRs of associations in face_alist to 715 the vectors which are the CDRs of associations in face_alist to
701 be copied as well. */ 716 be copied as well. */
@@ -1282,7 +1297,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
1282 /* Mark all the windows that used to be on FRAME as deleted, and then 1297 /* Mark all the windows that used to be on FRAME as deleted, and then
1283 remove the reference to them. */ 1298 remove the reference to them. */
1284 delete_all_child_windows (f->root_window); 1299 delete_all_child_windows (f->root_window);
1285 FSET (f, root_window, Qnil); 1300 fset_root_window (f, Qnil);
1286 1301
1287 Vframe_list = Fdelq (frame, Vframe_list); 1302 Vframe_list = Fdelq (frame, Vframe_list);
1288 FRAME_SET_VISIBLE (f, 0); 1303 FRAME_SET_VISIBLE (f, 0);
@@ -1291,7 +1306,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
1291 garbage collection. The frame object itself may not be garbage 1306 garbage collection. The frame object itself may not be garbage
1292 collected until much later, because recent_keys and other data 1307 collected until much later, because recent_keys and other data
1293 structures can still refer to it. */ 1308 structures can still refer to it. */
1294 FSET (f, menu_bar_vector, Qnil); 1309 fset_menu_bar_vector (f, Qnil);
1295 1310
1296 free_font_driver_list (f); 1311 free_font_driver_list (f);
1297 xfree (f->namebuf); 1312 xfree (f->namebuf);
@@ -1919,7 +1934,7 @@ The redirection lasts until `redirect-frame-focus' is called to change it. */)
1919 1934
1920 f = XFRAME (frame); 1935 f = XFRAME (frame);
1921 1936
1922 FSET (f, focus_frame, focus_frame); 1937 fset_focus_frame (f, focus_frame);
1923 1938
1924 if (FRAME_TERMINAL (f)->frame_rehighlight_hook) 1939 if (FRAME_TERMINAL (f)->frame_rehighlight_hook)
1925 (*FRAME_TERMINAL (f)->frame_rehighlight_hook) (f); 1940 (*FRAME_TERMINAL (f)->frame_rehighlight_hook) (f);
@@ -1984,10 +1999,10 @@ frames_discard_buffer (Lisp_Object buffer)
1984 1999
1985 FOR_EACH_FRAME (tail, frame) 2000 FOR_EACH_FRAME (tail, frame)
1986 { 2001 {
1987 FSET (XFRAME (frame), buffer_list, 2002 fset_buffer_list
1988 Fdelq (buffer, XFRAME (frame)->buffer_list)); 2003 (XFRAME (frame), Fdelq (buffer, XFRAME (frame)->buffer_list));
1989 FSET (XFRAME (frame), buried_buffer_list, 2004 fset_buried_buffer_list
1990 Fdelq (buffer, XFRAME (frame)->buried_buffer_list)); 2005 (XFRAME (frame), Fdelq (buffer, XFRAME (frame)->buried_buffer_list));
1991 } 2006 }
1992} 2007}
1993 2008
@@ -2054,7 +2069,7 @@ set_term_frame_name (struct frame *f, Lisp_Object name)
2054 error ("Frame names of the form F<num> are usurped by Emacs"); 2069 error ("Frame names of the form F<num> are usurped by Emacs");
2055 } 2070 }
2056 2071
2057 FSET (f, name, name); 2072 fset_name (f, name);
2058 update_mode_lines = 1; 2073 update_mode_lines = 1;
2059} 2074}
2060 2075
@@ -2071,7 +2086,7 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
2071 for (; CONSP (val); val = XCDR (val)) 2086 for (; CONSP (val); val = XCDR (val))
2072 if (!NILP (Fbuffer_live_p (XCAR (val)))) 2087 if (!NILP (Fbuffer_live_p (XCAR (val))))
2073 list = Fcons (XCAR (val), list); 2088 list = Fcons (XCAR (val), list);
2074 FSET (f, buffer_list, Fnreverse (list)); 2089 fset_buffer_list (f, Fnreverse (list));
2075 return; 2090 return;
2076 } 2091 }
2077 if (EQ (prop, Qburied_buffer_list)) 2092 if (EQ (prop, Qburied_buffer_list))
@@ -2080,7 +2095,7 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
2080 for (; CONSP (val); val = XCDR (val)) 2095 for (; CONSP (val); val = XCDR (val))
2081 if (!NILP (Fbuffer_live_p (XCAR (val)))) 2096 if (!NILP (Fbuffer_live_p (XCAR (val))))
2082 list = Fcons (XCAR (val), list); 2097 list = Fcons (XCAR (val), list);
2083 FSET (f, buried_buffer_list, Fnreverse (list)); 2098 fset_buried_buffer_list (f, Fnreverse (list));
2084 return; 2099 return;
2085 } 2100 }
2086 2101
@@ -2117,7 +2132,7 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
2117 /* Update the frame parameter alist. */ 2132 /* Update the frame parameter alist. */
2118 old_alist_elt = Fassq (prop, f->param_alist); 2133 old_alist_elt = Fassq (prop, f->param_alist);
2119 if (EQ (old_alist_elt, Qnil)) 2134 if (EQ (old_alist_elt, Qnil))
2120 FSET (f, param_alist, Fcons (Fcons (prop, val), f->param_alist)); 2135 fset_param_alist (f, Fcons (Fcons (prop, val), f->param_alist));
2121 else 2136 else
2122 Fsetcdr (old_alist_elt, val); 2137 Fsetcdr (old_alist_elt, val);
2123 2138
@@ -2125,7 +2140,7 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
2125 in addition to the alist. */ 2140 in addition to the alist. */
2126 2141
2127 if (EQ (prop, Qbuffer_predicate)) 2142 if (EQ (prop, Qbuffer_predicate))
2128 FSET (f, buffer_predicate, val); 2143 fset_buffer_predicate (f, val);
2129 2144
2130 if (! FRAME_WINDOW_P (f)) 2145 if (! FRAME_WINDOW_P (f))
2131 { 2146 {
@@ -2145,7 +2160,7 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
2145 error ("Can't change the surrogate minibuffer of a frame with its own minibuffer"); 2160 error ("Can't change the surrogate minibuffer of a frame with its own minibuffer");
2146 2161
2147 /* Install the chosen minibuffer window, with proper buffer. */ 2162 /* Install the chosen minibuffer window, with proper buffer. */
2148 FSET (f, minibuffer_window, val); 2163 fset_minibuffer_window (f, val);
2149 } 2164 }
2150} 2165}
2151 2166
diff --git a/src/frame.h b/src/frame.h
index e07974fb4d2..92fbda42c70 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -25,6 +25,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25 25
26#include "dispextern.h" 26#include "dispextern.h"
27 27
28INLINE_HEADER_BEGIN
29#ifndef FRAME_INLINE
30# define FRAME_INLINE INLINE
31#endif
32
28 33
29/* Miscellanea. */ 34/* Miscellanea. */
30 35
@@ -80,10 +85,6 @@ struct terminal;
80 85
81struct font_driver_list; 86struct font_driver_list;
82 87
83/* Most code should use this macro to set Lisp field in struct frame. */
84
85#define FSET(f, field, value) ((f)->field = (value))
86
87struct frame 88struct frame
88{ 89{
89 struct vectorlike_header header; 90 struct vectorlike_header header;
@@ -499,6 +500,109 @@ struct frame
499 unsigned long foreground_pixel; 500 unsigned long foreground_pixel;
500}; 501};
501 502
503/* Most code should use these functions to set Lisp fields in struct frame. */
504
505FRAME_INLINE void
506fset_buffer_list (struct frame *f, Lisp_Object val)
507{
508 f->buffer_list = val;
509}
510FRAME_INLINE void
511fset_buried_buffer_list (struct frame *f, Lisp_Object val)
512{
513 f->buried_buffer_list = val;
514}
515FRAME_INLINE void
516fset_condemned_scroll_bars (struct frame *f, Lisp_Object val)
517{
518 f->condemned_scroll_bars = val;
519}
520FRAME_INLINE void
521fset_current_tool_bar_string (struct frame *f, Lisp_Object val)
522{
523 f->current_tool_bar_string = val;
524}
525FRAME_INLINE void
526fset_desired_tool_bar_string (struct frame *f, Lisp_Object val)
527{
528 f->desired_tool_bar_string = val;
529}
530FRAME_INLINE void
531fset_face_alist (struct frame *f, Lisp_Object val)
532{
533 f->face_alist = val;
534}
535FRAME_INLINE void
536fset_focus_frame (struct frame *f, Lisp_Object val)
537{
538 f->focus_frame = val;
539}
540FRAME_INLINE void
541fset_icon_name (struct frame *f, Lisp_Object val)
542{
543 f->icon_name = val;
544}
545FRAME_INLINE void
546fset_menu_bar_items (struct frame *f, Lisp_Object val)
547{
548 f->menu_bar_items = val;
549}
550FRAME_INLINE void
551fset_menu_bar_vector (struct frame *f, Lisp_Object val)
552{
553 f->menu_bar_vector = val;
554}
555FRAME_INLINE void
556fset_menu_bar_window (struct frame *f, Lisp_Object val)
557{
558 f->menu_bar_window = val;
559}
560FRAME_INLINE void
561fset_name (struct frame *f, Lisp_Object val)
562{
563 f->name = val;
564}
565FRAME_INLINE void
566fset_param_alist (struct frame *f, Lisp_Object val)
567{
568 f->param_alist = val;
569}
570FRAME_INLINE void
571fset_root_window (struct frame *f, Lisp_Object val)
572{
573 f->root_window = val;
574}
575FRAME_INLINE void
576fset_scroll_bars (struct frame *f, Lisp_Object val)
577{
578 f->scroll_bars = val;
579}
580FRAME_INLINE void
581fset_selected_window (struct frame *f, Lisp_Object val)
582{
583 f->selected_window = val;
584}
585FRAME_INLINE void
586fset_title (struct frame *f, Lisp_Object val)
587{
588 f->title = val;
589}
590FRAME_INLINE void
591fset_tool_bar_items (struct frame *f, Lisp_Object val)
592{
593 f->tool_bar_items = val;
594}
595FRAME_INLINE void
596fset_tool_bar_position (struct frame *f, Lisp_Object val)
597{
598 f->tool_bar_position = val;
599}
600FRAME_INLINE void
601fset_tool_bar_window (struct frame *f, Lisp_Object val)
602{
603 f->tool_bar_window = val;
604}
605
502#define FRAME_KBOARD(f) ((f)->terminal->kboard) 606#define FRAME_KBOARD(f) ((f)->terminal->kboard)
503 607
504/* Return a pointer to the image cache of frame F. */ 608/* Return a pointer to the image cache of frame F. */
@@ -1146,4 +1250,6 @@ extern void set_frame_menubar (FRAME_PTR, int, int);
1146 1250
1147#endif /* HAVE_WINDOW_SYSTEM */ 1251#endif /* HAVE_WINDOW_SYSTEM */
1148 1252
1253INLINE_HEADER_END
1254
1149#endif /* not EMACS_FRAME_H */ 1255#endif /* not EMACS_FRAME_H */
diff --git a/src/nsfns.m b/src/nsfns.m
index 1b39f0257a5..abfcb71cbfc 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -447,7 +447,7 @@ x_set_icon_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
447 else if (!STRINGP (oldval) && EQ (oldval, Qnil) == EQ (arg, Qnil)) 447 else if (!STRINGP (oldval) && EQ (oldval, Qnil) == EQ (arg, Qnil))
448 return; 448 return;
449 449
450 FSET (f, icon_name, arg); 450 fset_icon_name (f, arg);
451 451
452 if (NILP (arg)) 452 if (NILP (arg))
453 { 453 {
@@ -539,7 +539,7 @@ ns_set_name (struct frame *f, Lisp_Object name, int explicit)
539 if (! NILP (Fstring_equal (name, f->name))) 539 if (! NILP (Fstring_equal (name, f->name)))
540 return; 540 return;
541 541
542 FSET (f, name, name); 542 fset_name (f, name);
543 543
544 /* title overrides explicit name */ 544 /* title overrides explicit name */
545 if (! NILP (f->title)) 545 if (! NILP (f->title))
@@ -590,7 +590,7 @@ x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
590 590
591 update_mode_lines = 1; 591 update_mode_lines = 1;
592 592
593 FSET (f, title, name); 593 fset_title (f, name);
594 594
595 if (NILP (name)) 595 if (NILP (name))
596 name = f->name; 596 name = f->name;
@@ -676,7 +676,7 @@ ns_set_name_as_filename (struct frame *f)
676 676
677 [[view window] setRepresentedFilename: fstr]; 677 [[view window] setRepresentedFilename: fstr];
678 [[view window] setTitle: str]; 678 [[view window] setTitle: str];
679 FSET (f, name, name); 679 fset_name (f, name);
680 } 680 }
681 681
682 [pool release]; 682 [pool release];
@@ -1204,11 +1204,11 @@ This function is an internal primitive--use `make-frame' instead. */)
1204 1204
1205 FRAME_FONTSET (f) = -1; 1205 FRAME_FONTSET (f) = -1;
1206 1206
1207 FSET (f, icon_name, x_get_arg (dpyinfo, parms, Qicon_name, 1207 fset_icon_name (f, x_get_arg (dpyinfo, parms, Qicon_name,
1208 "iconName", "Title", 1208 "iconName", "Title",
1209 RES_TYPE_STRING)); 1209 RES_TYPE_STRING));
1210 if (! STRINGP (f->icon_name)) 1210 if (! STRINGP (f->icon_name))
1211 FSET (f, icon_name, Qnil); 1211 fset_icon_name (f, Qnil);
1212 1212
1213 FRAME_NS_DISPLAY_INFO (f) = dpyinfo; 1213 FRAME_NS_DISPLAY_INFO (f) = dpyinfo;
1214 1214
@@ -1231,12 +1231,12 @@ This function is an internal primitive--use `make-frame' instead. */)
1231 be set. */ 1231 be set. */
1232 if (EQ (name, Qunbound) || NILP (name) || ! STRINGP (name)) 1232 if (EQ (name, Qunbound) || NILP (name) || ! STRINGP (name))
1233 { 1233 {
1234 FSET (f, name, build_string ([ns_app_name UTF8String])); 1234 fset_name (f, build_string ([ns_app_name UTF8String]));
1235 f->explicit_name = 0; 1235 f->explicit_name = 0;
1236 } 1236 }
1237 else 1237 else
1238 { 1238 {
1239 FSET (f, name, name); 1239 fset_name (f, name);
1240 f->explicit_name = 1; 1240 f->explicit_name = 1;
1241 specbind (Qx_resource_name, name); 1241 specbind (Qx_resource_name, name);
1242 } 1242 }
@@ -1397,7 +1397,7 @@ This function is an internal primitive--use `make-frame' instead. */)
1397 by x_get_arg and friends, now go in the misc. alist of the frame. */ 1397 by x_get_arg and friends, now go in the misc. alist of the frame. */
1398 for (tem = parms; CONSP (tem); tem = XCDR (tem)) 1398 for (tem = parms; CONSP (tem); tem = XCDR (tem))
1399 if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem)))) 1399 if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem))))
1400 FSET (f, param_alist, Fcons (XCAR (tem), f->param_alist)); 1400 fset_param_alist (f, Fcons (XCAR (tem), f->param_alist));
1401 1401
1402 UNGCPRO; 1402 UNGCPRO;
1403 1403
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 657b9306942..e8a0b43a01b 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -214,7 +214,7 @@ ns_update_menubar (struct frame *f, int deep_p, EmacsMenu *submenu)
214 if (! NILP (Vlucid_menu_bar_dirty_flag)) 214 if (! NILP (Vlucid_menu_bar_dirty_flag))
215 call0 (Qrecompute_lucid_menubar); 215 call0 (Qrecompute_lucid_menubar);
216 safe_run_hooks (Qmenu_bar_update_hook); 216 safe_run_hooks (Qmenu_bar_update_hook);
217 FSET (f, menu_bar_items, menu_bar_items (FRAME_MENU_BAR_ITEMS (f))); 217 fset_menu_bar_items (f, menu_bar_items (FRAME_MENU_BAR_ITEMS (f)));
218 218
219 /* Now ready to go */ 219 /* Now ready to go */
220 items = FRAME_MENU_BAR_ITEMS (f); 220 items = FRAME_MENU_BAR_ITEMS (f);
@@ -340,7 +340,7 @@ ns_update_menubar (struct frame *f, int deep_p, EmacsMenu *submenu)
340 } 340 }
341 /* The menu items are different, so store them in the frame */ 341 /* The menu items are different, so store them in the frame */
342 /* FIXME: this is not correct for single-submenu case */ 342 /* FIXME: this is not correct for single-submenu case */
343 FSET (f, menu_bar_vector, menu_items); 343 fset_menu_bar_vector (f, menu_items);
344 f->menu_bar_items_used = menu_items_used; 344 f->menu_bar_items_used = menu_items_used;
345 345
346 /* Calls restore_menu_items, etc., as they were outside */ 346 /* Calls restore_menu_items, etc., as they were outside */
diff --git a/src/nsterm.m b/src/nsterm.m
index a628a248c77..137ad299ddd 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1032,7 +1032,7 @@ ns_frame_rehighlight (struct frame *frame)
1032 : dpyinfo->x_focus_frame); 1032 : dpyinfo->x_focus_frame);
1033 if (!FRAME_LIVE_P (dpyinfo->x_highlight_frame)) 1033 if (!FRAME_LIVE_P (dpyinfo->x_highlight_frame))
1034 { 1034 {
1035 FSET (dpyinfo->x_focus_frame, focus_frame, Qnil); 1035 fset_focus_frame (dpyinfo->x_focus_frame, Qnil);
1036 dpyinfo->x_highlight_frame = dpyinfo->x_focus_frame; 1036 dpyinfo->x_highlight_frame = dpyinfo->x_focus_frame;
1037 } 1037 }
1038 } 1038 }
diff --git a/src/w32fns.c b/src/w32fns.c
index 7779f032104..3f84823c366 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -1490,7 +1490,7 @@ x_set_icon_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1490 else if (!NILP (arg) || NILP (oldval)) 1490 else if (!NILP (arg) || NILP (oldval))
1491 return; 1491 return;
1492 1492
1493 FSET (f, icon_name, arg); 1493 fset_icon_name (f, arg);
1494 1494
1495#if 0 1495#if 0
1496 if (f->output_data.w32->icon_bitmap != 0) 1496 if (f->output_data.w32->icon_bitmap != 0)
@@ -1686,7 +1686,7 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit)
1686 if (! NILP (Fstring_equal (name, f->name))) 1686 if (! NILP (Fstring_equal (name, f->name)))
1687 return; 1687 return;
1688 1688
1689 FSET (f, name, name); 1689 fset_name (f, name);
1690 1690
1691 /* For setting the frame title, the title parameter should override 1691 /* For setting the frame title, the title parameter should override
1692 the name parameter. */ 1692 the name parameter. */
@@ -1734,7 +1734,7 @@ x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
1734 1734
1735 update_mode_lines = 1; 1735 update_mode_lines = 1;
1736 1736
1737 FSET (f, title, name); 1737 fset_title (f, name);
1738 1738
1739 if (NILP (name)) 1739 if (NILP (name))
1740 name = f->name; 1740 name = f->name;
@@ -3925,7 +3925,7 @@ w32_window (struct frame *f, long window_prompting, int minibuffer_only)
3925 3925
3926 f->explicit_name = 0; 3926 f->explicit_name = 0;
3927 name = f->name; 3927 name = f->name;
3928 FSET (f, name, Qnil); 3928 fset_name (f, Qnil);
3929 x_set_name (f, name, explicit); 3929 x_set_name (f, name, explicit);
3930 } 3930 }
3931 3931
@@ -4174,11 +4174,11 @@ This function is an internal primitive--use `make-frame' instead. */)
4174 f->output_data.w32 = xzalloc (sizeof (struct w32_output)); 4174 f->output_data.w32 = xzalloc (sizeof (struct w32_output));
4175 FRAME_FONTSET (f) = -1; 4175 FRAME_FONTSET (f) = -1;
4176 4176
4177 FSET (f, icon_name, 4177 fset_icon_name
4178 x_get_arg (dpyinfo, parameters, Qicon_name, "iconName", "Title", 4178 (f, x_get_arg (dpyinfo, parameters, Qicon_name, "iconName", "Title",
4179 RES_TYPE_STRING)); 4179 RES_TYPE_STRING));
4180 if (! STRINGP (f->icon_name)) 4180 if (! STRINGP (f->icon_name))
4181 FSET (f, icon_name, Qnil); 4181 fset_icon_name (f, Qnil);
4182 4182
4183/* FRAME_W32_DISPLAY_INFO (f) = dpyinfo; */ 4183/* FRAME_W32_DISPLAY_INFO (f) = dpyinfo; */
4184 4184
@@ -4207,12 +4207,12 @@ This function is an internal primitive--use `make-frame' instead. */)
4207 be set. */ 4207 be set. */
4208 if (EQ (name, Qunbound) || NILP (name)) 4208 if (EQ (name, Qunbound) || NILP (name))
4209 { 4209 {
4210 FSET (f, name, build_string (dpyinfo->w32_id_name)); 4210 fset_name (f, build_string (dpyinfo->w32_id_name));
4211 f->explicit_name = 0; 4211 f->explicit_name = 0;
4212 } 4212 }
4213 else 4213 else
4214 { 4214 {
4215 FSET (f, name, name); 4215 fset_name (f, name);
4216 f->explicit_name = 1; 4216 f->explicit_name = 1;
4217 /* use the frame's title when getting resources for this frame. */ 4217 /* use the frame's title when getting resources for this frame. */
4218 specbind (Qx_resource_name, name); 4218 specbind (Qx_resource_name, name);
@@ -4387,7 +4387,7 @@ This function is an internal primitive--use `make-frame' instead. */)
4387 by x_get_arg and friends, now go in the misc. alist of the frame. */ 4387 by x_get_arg and friends, now go in the misc. alist of the frame. */
4388 for (tem = parameters; CONSP (tem); tem = XCDR (tem)) 4388 for (tem = parameters; CONSP (tem); tem = XCDR (tem))
4389 if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem)))) 4389 if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem))))
4390 FSET (f, param_alist, Fcons (XCAR (tem), f->param_alist)); 4390 fset_param_alist (f, Fcons (XCAR (tem), f->param_alist));
4391 4391
4392 UNGCPRO; 4392 UNGCPRO;
4393 4393
@@ -5261,7 +5261,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo,
5261 f->output_data.w32 = xzalloc (sizeof (struct w32_output)); 5261 f->output_data.w32 = xzalloc (sizeof (struct w32_output));
5262 5262
5263 FRAME_FONTSET (f) = -1; 5263 FRAME_FONTSET (f) = -1;
5264 FSET (f, icon_name, Qnil); 5264 fset_icon_name (f, Qnil);
5265 5265
5266#ifdef GLYPH_DEBUG 5266#ifdef GLYPH_DEBUG
5267 image_cache_refcount = 5267 image_cache_refcount =
@@ -5276,12 +5276,12 @@ x_create_tip_frame (struct w32_display_info *dpyinfo,
5276 be set. */ 5276 be set. */
5277 if (EQ (name, Qunbound) || NILP (name)) 5277 if (EQ (name, Qunbound) || NILP (name))
5278 { 5278 {
5279 FSET (f, name, build_string (dpyinfo->w32_id_name)); 5279 fset_name (f, build_string (dpyinfo->w32_id_name));
5280 f->explicit_name = 0; 5280 f->explicit_name = 0;
5281 } 5281 }
5282 else 5282 else
5283 { 5283 {
5284 FSET (f, name, name); 5284 fset_name (f, name);
5285 f->explicit_name = 1; 5285 f->explicit_name = 1;
5286 /* use the frame's title when getting resources for this frame. */ 5286 /* use the frame's title when getting resources for this frame. */
5287 specbind (Qx_resource_name, name); 5287 specbind (Qx_resource_name, name);
diff --git a/src/w32menu.c b/src/w32menu.c
index 02302c2d594..3aa4c8bc96d 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -413,7 +413,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
413 /* Run the hooks. */ 413 /* Run the hooks. */
414 safe_run_hooks (Qactivate_menubar_hook); 414 safe_run_hooks (Qactivate_menubar_hook);
415 safe_run_hooks (Qmenu_bar_update_hook); 415 safe_run_hooks (Qmenu_bar_update_hook);
416 FSET (f, menu_bar_items, menu_bar_items (FRAME_MENU_BAR_ITEMS (f))); 416 fset_menu_bar_items (f, menu_bar_items (FRAME_MENU_BAR_ITEMS (f)));
417 417
418 items = FRAME_MENU_BAR_ITEMS (f); 418 items = FRAME_MENU_BAR_ITEMS (f);
419 419
@@ -500,7 +500,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
500 return; 500 return;
501 } 501 }
502 502
503 FSET (f, menu_bar_vector, menu_items); 503 fset_menu_bar_vector (f, menu_items);
504 f->menu_bar_items_used = menu_items_used; 504 f->menu_bar_items_used = menu_items_used;
505 505
506 /* This undoes save_menu_items. */ 506 /* This undoes save_menu_items. */
@@ -615,7 +615,7 @@ initialize_frame_menubar (FRAME_PTR f)
615{ 615{
616 /* This function is called before the first chance to redisplay 616 /* This function is called before the first chance to redisplay
617 the frame. It has to be, so the frame will have the right size. */ 617 the frame. It has to be, so the frame will have the right size. */
618 FSET (f, menu_bar_items, menu_bar_items (FRAME_MENU_BAR_ITEMS (f))); 618 fset_menu_bar_items (f, menu_bar_items (FRAME_MENU_BAR_ITEMS (f)));
619 set_frame_menubar (f, 1, 1); 619 set_frame_menubar (f, 1, 1);
620} 620}
621 621
diff --git a/src/w32term.c b/src/w32term.c
index 7da9433d3f1..a74dfbc3bd2 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -2972,7 +2972,7 @@ x_frame_rehighlight (struct w32_display_info *dpyinfo)
2972 : dpyinfo->w32_focus_frame); 2972 : dpyinfo->w32_focus_frame);
2973 if (! FRAME_LIVE_P (dpyinfo->x_highlight_frame)) 2973 if (! FRAME_LIVE_P (dpyinfo->x_highlight_frame))
2974 { 2974 {
2975 FSET (dpyinfo->w32_focus_frame, focus_frame, Qnil); 2975 fset_focus_frame (dpyinfo->w32_focus_frame, Qnil);
2976 dpyinfo->x_highlight_frame = dpyinfo->w32_focus_frame; 2976 dpyinfo->x_highlight_frame = dpyinfo->w32_focus_frame;
2977 } 2977 }
2978 } 2978 }
@@ -3646,7 +3646,7 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height)
3646 bar->next = FRAME_SCROLL_BARS (f); 3646 bar->next = FRAME_SCROLL_BARS (f);
3647 bar->prev = Qnil; 3647 bar->prev = Qnil;
3648 XSETVECTOR (barobj, bar); 3648 XSETVECTOR (barobj, bar);
3649 FSET (f, scroll_bars, barobj); 3649 fset_scroll_bars (f, barobj);
3650 if (! NILP (bar->next)) 3650 if (! NILP (bar->next))
3651 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar); 3651 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar);
3652 3652
@@ -3832,12 +3832,12 @@ w32_condemn_scroll_bars (FRAME_PTR frame)
3832 { 3832 {
3833 Lisp_Object bar; 3833 Lisp_Object bar;
3834 bar = FRAME_SCROLL_BARS (frame); 3834 bar = FRAME_SCROLL_BARS (frame);
3835 FSET (frame, scroll_bars, XSCROLL_BAR (bar)->next); 3835 fset_scroll_bars (frame, XSCROLL_BAR (bar)->next);
3836 XSCROLL_BAR (bar)->next = FRAME_CONDEMNED_SCROLL_BARS (frame); 3836 XSCROLL_BAR (bar)->next = FRAME_CONDEMNED_SCROLL_BARS (frame);
3837 XSCROLL_BAR (bar)->prev = Qnil; 3837 XSCROLL_BAR (bar)->prev = Qnil;
3838 if (! NILP (FRAME_CONDEMNED_SCROLL_BARS (frame))) 3838 if (! NILP (FRAME_CONDEMNED_SCROLL_BARS (frame)))
3839 XSCROLL_BAR (FRAME_CONDEMNED_SCROLL_BARS (frame))->prev = bar; 3839 XSCROLL_BAR (FRAME_CONDEMNED_SCROLL_BARS (frame))->prev = bar;
3840 FSET (frame, condemned_scroll_bars, bar); 3840 fset_condemned_scroll_bars (frame, bar);
3841 } 3841 }
3842} 3842}
3843 3843
@@ -3869,7 +3869,7 @@ w32_redeem_scroll_bar (struct window *window)
3869 return; 3869 return;
3870 else if (EQ (FRAME_CONDEMNED_SCROLL_BARS (f), 3870 else if (EQ (FRAME_CONDEMNED_SCROLL_BARS (f),
3871 window->vertical_scroll_bar)) 3871 window->vertical_scroll_bar))
3872 FSET (f, condemned_scroll_bars, bar->next); 3872 fset_condemned_scroll_bars (f, bar->next);
3873 else 3873 else
3874 /* If its prev pointer is nil, it must be at the front of 3874 /* If its prev pointer is nil, it must be at the front of
3875 one or the other! */ 3875 one or the other! */
@@ -3884,7 +3884,7 @@ w32_redeem_scroll_bar (struct window *window)
3884 bar->next = FRAME_SCROLL_BARS (f); 3884 bar->next = FRAME_SCROLL_BARS (f);
3885 bar->prev = Qnil; 3885 bar->prev = Qnil;
3886 XSETVECTOR (barobj, bar); 3886 XSETVECTOR (barobj, bar);
3887 FSET (f, scroll_bars, barobj); 3887 fset_scroll_bars (f, barobj);
3888 if (! NILP (bar->next)) 3888 if (! NILP (bar->next))
3889 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar); 3889 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar);
3890} 3890}
@@ -3901,7 +3901,7 @@ w32_judge_scroll_bars (FRAME_PTR f)
3901 3901
3902 /* Clear out the condemned list now so we won't try to process any 3902 /* Clear out the condemned list now so we won't try to process any
3903 more events on the hapless scroll bars. */ 3903 more events on the hapless scroll bars. */
3904 FSET (f, condemned_scroll_bars, Qnil); 3904 fset_condemned_scroll_bars (f, Qnil);
3905 3905
3906 for (; ! NILP (bar); bar = next) 3906 for (; ! NILP (bar); bar = next)
3907 { 3907 {
diff --git a/src/window.c b/src/window.c
index 7874105df1e..140b925ed6d 100644
--- a/src/window.c
+++ b/src/window.c
@@ -322,7 +322,10 @@ Return WINDOW. */)
322 if (EQ (frame, selected_frame)) 322 if (EQ (frame, selected_frame))
323 return Fselect_window (window, norecord); 323 return Fselect_window (window, norecord);
324 else 324 else
325 return FSET (XFRAME (frame), selected_window, window); 325 {
326 fset_selected_window (XFRAME (frame), window);
327 return window;
328 }
326} 329}
327 330
328DEFUN ("selected-window", Fselected_window, Sselected_window, 0, 0, 0, 331DEFUN ("selected-window", Fselected_window, Sselected_window, 0, 0, 0,
@@ -365,7 +368,7 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap)
365 sf = SELECTED_FRAME (); 368 sf = SELECTED_FRAME ();
366 if (XFRAME (WINDOW_FRAME (w)) != sf) 369 if (XFRAME (WINDOW_FRAME (w)) != sf)
367 { 370 {
368 FSET (XFRAME (WINDOW_FRAME (w)), selected_window, window); 371 fset_selected_window (XFRAME (WINDOW_FRAME (w)), window);
369 /* Use this rather than Fhandle_switch_frame 372 /* Use this rather than Fhandle_switch_frame
370 so that FRAME_FOCUS_FRAME is moved appropriately as we 373 so that FRAME_FOCUS_FRAME is moved appropriately as we
371 move around in the state where a minibuffer in a separate 374 move around in the state where a minibuffer in a separate
@@ -376,7 +379,7 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap)
376 return window; 379 return window;
377 } 380 }
378 else 381 else
379 FSET (sf, selected_window, window); 382 fset_selected_window (sf, window);
380 383
381 /* Store the current buffer's actual point into the 384 /* Store the current buffer's actual point into the
382 old selected window. It belongs to that window, 385 old selected window. It belongs to that window,
@@ -1863,7 +1866,7 @@ replace_window (Lisp_Object old, Lisp_Object new, int setflag)
1863 /* If OLD is its frame's root window, then NEW is the new 1866 /* If OLD is its frame's root window, then NEW is the new
1864 root window for that frame. */ 1867 root window for that frame. */
1865 if (EQ (old, FRAME_ROOT_WINDOW (XFRAME (o->frame)))) 1868 if (EQ (old, FRAME_ROOT_WINDOW (XFRAME (o->frame))))
1866 FSET (XFRAME (o->frame), root_window, new); 1869 fset_root_window (XFRAME (o->frame), new);
1867 1870
1868 if (setflag) 1871 if (setflag)
1869 { 1872 {
@@ -2146,7 +2149,7 @@ decode_next_window_args (Lisp_Object *window, Lisp_Object *minibuf, Lisp_Object
2146 2149
2147 /* ALL_FRAMES nil doesn't specify which frames to include. */ 2150 /* ALL_FRAMES nil doesn't specify which frames to include. */
2148 if (NILP (*all_frames)) 2151 if (NILP (*all_frames))
2149 *all_frames 2152 *all_frames
2150 = (!EQ (*minibuf, Qlambda) 2153 = (!EQ (*minibuf, Qlambda)
2151 ? FRAME_MINIBUF_WINDOW (XFRAME (XWINDOW (*window)->frame)) 2154 ? FRAME_MINIBUF_WINDOW (XFRAME (XWINDOW (*window)->frame))
2152 : Qnil); 2155 : Qnil);
@@ -2659,7 +2662,7 @@ window-start value is reasonable when this function is called. */)
2659 if (EQ (selected_frame, w->frame)) 2662 if (EQ (selected_frame, w->frame))
2660 Fselect_window (window, Qnil); 2663 Fselect_window (window, Qnil);
2661 else 2664 else
2662 FSET (f, selected_window, window); 2665 fset_selected_window (f, window);
2663 } 2666 }
2664 } 2667 }
2665 else 2668 else
@@ -2689,7 +2692,7 @@ window-start value is reasonable when this function is called. */)
2689 if (EQ (selected_frame, w->frame)) 2692 if (EQ (selected_frame, w->frame))
2690 Fselect_window (swindow, Qnil); 2693 Fselect_window (swindow, Qnil);
2691 else 2694 else
2692 FSET (f, selected_window, swindow); 2695 fset_selected_window (f, swindow);
2693 } 2696 }
2694 } 2697 }
2695 2698
@@ -2741,8 +2744,8 @@ window-start value is reasonable when this function is called. */)
2741 if (!resize_failed) 2744 if (!resize_failed)
2742 { 2745 {
2743 WSET (w, left_col, r->left_col); 2746 WSET (w, left_col, r->left_col);
2744 XSETINT (delta, XINT (r->total_cols) 2747 XSETINT (delta,
2745 - XINT (w->total_cols)); 2748 XINT (r->total_cols) - XINT (w->total_cols));
2746 WSET (w, left_col, r->left_col); 2749 WSET (w, left_col, r->left_col);
2747 resize_root_window (window, delta, Qt, Qnil); 2750 resize_root_window (window, delta, Qt, Qnil);
2748 if (window_resize_check (w, 1)) 2751 if (window_resize_check (w, 1))
@@ -2915,7 +2918,7 @@ adjust_window_margins (struct window *w)
2915 if (WINDOW_LEFT_MARGIN_COLS (w) > 0) 2918 if (WINDOW_LEFT_MARGIN_COLS (w) > 0)
2916 { 2919 {
2917 WSET (w, left_margin_cols, make_number (margin_cols / 2)); 2920 WSET (w, left_margin_cols, make_number (margin_cols / 2));
2918 WSET (w, right_margin_cols, make_number (margin_cols / 2)); 2921 WSET (w, right_margin_cols, make_number (margin_cols / 2));
2919 } 2922 }
2920 else 2923 else
2921 WSET (w, right_margin_cols, make_number (margin_cols)); 2924 WSET (w, right_margin_cols, make_number (margin_cols));
@@ -3612,7 +3615,7 @@ resize_frame_windows (struct frame *f, int size, int horflag)
3612 else 3615 else
3613 { 3616 {
3614 /* old_size is the old size of the frame's root window. */ 3617 /* old_size is the old size of the frame's root window. */
3615 int old_size = XFASTINT (horflag ? r->total_cols 3618 int old_size = XFASTINT (horflag ? r->total_cols
3616 : r->total_lines); 3619 : r->total_lines);
3617 Lisp_Object delta; 3620 Lisp_Object delta;
3618 3621
@@ -4000,7 +4003,7 @@ Signal an error when WINDOW is the only window on its frame. */)
4000 if (EQ (FRAME_SELECTED_WINDOW (f), selected_window)) 4003 if (EQ (FRAME_SELECTED_WINDOW (f), selected_window))
4001 Fselect_window (new_selected_window, Qt); 4004 Fselect_window (new_selected_window, Qt);
4002 else 4005 else
4003 FSET (f, selected_window, new_selected_window); 4006 fset_selected_window (f, new_selected_window);
4004 4007
4005 UNBLOCK_INPUT; 4008 UNBLOCK_INPUT;
4006 4009
@@ -4014,7 +4017,7 @@ Signal an error when WINDOW is the only window on its frame. */)
4014 if (EQ (FRAME_SELECTED_WINDOW (f), selected_window)) 4017 if (EQ (FRAME_SELECTED_WINDOW (f), selected_window))
4015 Fselect_window (new_selected_window, Qnil); 4018 Fselect_window (new_selected_window, Qnil);
4016 else 4019 else
4017 FSET (f, selected_window, new_selected_window); 4020 fset_selected_window (f, new_selected_window);
4018 } 4021 }
4019 else 4022 else
4020 UNBLOCK_INPUT; 4023 UNBLOCK_INPUT;
@@ -5542,7 +5545,7 @@ the return value is nil. Otherwise the value is t. */)
5542 WSET (w, next, Qnil); 5545 WSET (w, next, Qnil);
5543 5546
5544 if (!NILP (p->parent)) 5547 if (!NILP (p->parent))
5545 WSET (w, parent, SAVED_WINDOW_N 5548 WSET (w, parent, SAVED_WINDOW_N
5546 (saved_windows, XFASTINT (p->parent))->window); 5549 (saved_windows, XFASTINT (p->parent))->window);
5547 else 5550 else
5548 WSET (w, parent, Qnil); 5551 WSET (w, parent, Qnil);
@@ -5650,7 +5653,7 @@ the return value is nil. Otherwise the value is t. */)
5650 set_marker_restricted (w->start, make_number (0), 5653 set_marker_restricted (w->start, make_number (0),
5651 w->buffer); 5654 w->buffer);
5652 if (XMARKER (w->pointm)->buffer == 0) 5655 if (XMARKER (w->pointm)->buffer == 0)
5653 set_marker_restricted_both 5656 set_marker_restricted_both
5654 (w->pointm, w->buffer, 5657 (w->pointm, w->buffer,
5655 BUF_PT (XBUFFER (w->buffer)), 5658 BUF_PT (XBUFFER (w->buffer)),
5656 BUF_PT_BYTE (XBUFFER (w->buffer))); 5659 BUF_PT_BYTE (XBUFFER (w->buffer)));
@@ -5690,7 +5693,7 @@ the return value is nil. Otherwise the value is t. */)
5690 } 5693 }
5691 } 5694 }
5692 5695
5693 FSET (f, root_window, data->root_window); 5696 fset_root_window (f, data->root_window);
5694 /* Arrange *not* to restore point in the buffer that was 5697 /* Arrange *not* to restore point in the buffer that was
5695 current when the window configuration was saved. */ 5698 current when the window configuration was saved. */
5696 if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer)) 5699 if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer))
diff --git a/src/xdisp.c b/src/xdisp.c
index 4cd95606041..ab4375d2479 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -11274,7 +11274,7 @@ update_menu_bar (struct frame *f, int save_match_data, int hooks_run)
11274 } 11274 }
11275 11275
11276 XSETFRAME (Vmenu_updating_frame, f); 11276 XSETFRAME (Vmenu_updating_frame, f);
11277 FSET (f, menu_bar_items, menu_bar_items (FRAME_MENU_BAR_ITEMS (f))); 11277 fset_menu_bar_items (f, menu_bar_items (FRAME_MENU_BAR_ITEMS (f)));
11278 11278
11279 /* Redisplay the menu bar in case we changed it. */ 11279 /* Redisplay the menu bar in case we changed it. */
11280#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \ 11280#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
@@ -11487,7 +11487,7 @@ update_tool_bar (struct frame *f, int save_match_data)
11487 may access f->tool_bar_items. Make sure we update both 11487 may access f->tool_bar_items. Make sure we update both
11488 variables within BLOCK_INPUT so no such event interrupts. */ 11488 variables within BLOCK_INPUT so no such event interrupts. */
11489 BLOCK_INPUT; 11489 BLOCK_INPUT;
11490 FSET (f, tool_bar_items, new_tool_bar); 11490 fset_tool_bar_items (f, new_tool_bar);
11491 f->n_tool_bar_items = new_n_tool_bar; 11491 f->n_tool_bar_items = new_n_tool_bar;
11492 w->update_mode_line = 1; 11492 w->update_mode_line = 1;
11493 UNBLOCK_INPUT; 11493 UNBLOCK_INPUT;
@@ -11529,8 +11529,8 @@ build_desired_tool_bar_string (struct frame *f)
11529 11529
11530 /* Reuse f->desired_tool_bar_string, if possible. */ 11530 /* Reuse f->desired_tool_bar_string, if possible. */
11531 if (size < size_needed || NILP (f->desired_tool_bar_string)) 11531 if (size < size_needed || NILP (f->desired_tool_bar_string))
11532 FSET (f, desired_tool_bar_string, 11532 fset_desired_tool_bar_string
11533 Fmake_string (make_number (size_needed), make_number (' '))); 11533 (f, Fmake_string (make_number (size_needed), make_number (' ')));
11534 else 11534 else
11535 { 11535 {
11536 props = list4 (Qdisplay, Qnil, Qmenu_item, Qnil); 11536 props = list4 (Qdisplay, Qnil, Qmenu_item, Qnil);
diff --git a/src/xfaces.c b/src/xfaces.c
index 8c6542ee725..46121d66606 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -2695,7 +2695,7 @@ Value is a vector of face attributes. */)
2695 lface = Fmake_vector (make_number (LFACE_VECTOR_SIZE), 2695 lface = Fmake_vector (make_number (LFACE_VECTOR_SIZE),
2696 Qunspecified); 2696 Qunspecified);
2697 ASET (lface, 0, Qface); 2697 ASET (lface, 0, Qface);
2698 FSET (f, face_alist, Fcons (Fcons (face, lface), f->face_alist)); 2698 fset_face_alist (f, Fcons (Fcons (face, lface), f->face_alist));
2699 } 2699 }
2700 else 2700 else
2701 for (i = 1; i < LFACE_VECTOR_SIZE; ++i) 2701 for (i = 1; i < LFACE_VECTOR_SIZE; ++i)
diff --git a/src/xfns.c b/src/xfns.c
index a9d22e7d3c6..7960a42709b 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -658,7 +658,7 @@ x_set_tool_bar_position (struct frame *f,
658 658
659#ifdef USE_GTK 659#ifdef USE_GTK
660 if (xg_change_toolbar_position (f, new_value)) 660 if (xg_change_toolbar_position (f, new_value))
661 FSET (f, tool_bar_position, new_value); 661 fset_tool_bar_position (f, new_value);
662#endif 662#endif
663} 663}
664 664
@@ -1145,7 +1145,7 @@ x_set_icon_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1145 else if (!NILP (arg) || NILP (oldval)) 1145 else if (!NILP (arg) || NILP (oldval))
1146 return; 1146 return;
1147 1147
1148 FSET (f, icon_name, arg); 1148 fset_icon_name (f, arg);
1149 1149
1150 if (f->output_data.x->icon_bitmap != 0) 1150 if (f->output_data.x->icon_bitmap != 0)
1151 return; 1151 return;
@@ -1636,7 +1636,7 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit)
1636 if (! NILP (Fstring_equal (name, f->name))) 1636 if (! NILP (Fstring_equal (name, f->name)))
1637 return; 1637 return;
1638 1638
1639 FSET (f, name, name); 1639 fset_name (f, name);
1640 1640
1641 /* For setting the frame title, the title parameter should override 1641 /* For setting the frame title, the title parameter should override
1642 the name parameter. */ 1642 the name parameter. */
@@ -1676,7 +1676,7 @@ x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
1676 1676
1677 update_mode_lines = 1; 1677 update_mode_lines = 1;
1678 1678
1679 FSET (f, title, name); 1679 fset_title (f, name);
1680 1680
1681 if (NILP (name)) 1681 if (NILP (name))
1682 name = f->name; 1682 name = f->name;
@@ -2565,7 +2565,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only)
2565 2565
2566 f->explicit_name = 0; 2566 f->explicit_name = 0;
2567 name = f->name; 2567 name = f->name;
2568 FSET (f, name, Qnil); 2568 fset_name (f, Qnil);
2569 x_set_name (f, name, explicit); 2569 x_set_name (f, name, explicit);
2570 } 2570 }
2571 2571
@@ -2708,7 +2708,7 @@ x_window (struct frame *f)
2708 2708
2709 f->explicit_name = 0; 2709 f->explicit_name = 0;
2710 name = f->name; 2710 name = f->name;
2711 FSET (f, name, Qnil); 2711 fset_name (f, Qnil);
2712 x_set_name (f, name, explicit); 2712 x_set_name (f, name, explicit);
2713 } 2713 }
2714 2714
@@ -3128,11 +3128,11 @@ This function is an internal primitive--use `make-frame' instead. */)
3128 f->output_data.x->scroll_bar_bottom_shadow_pixel = -1; 3128 f->output_data.x->scroll_bar_bottom_shadow_pixel = -1;
3129#endif /* USE_TOOLKIT_SCROLL_BARS */ 3129#endif /* USE_TOOLKIT_SCROLL_BARS */
3130 3130
3131 FSET (f, icon_name, 3131 fset_icon_name (f,
3132 x_get_arg (dpyinfo, parms, Qicon_name, "iconName", "Title", 3132 x_get_arg (dpyinfo, parms, Qicon_name, "iconName", "Title",
3133 RES_TYPE_STRING)); 3133 RES_TYPE_STRING));
3134 if (! STRINGP (f->icon_name)) 3134 if (! STRINGP (f->icon_name))
3135 FSET (f, icon_name, Qnil); 3135 fset_icon_name (f, Qnil);
3136 3136
3137 FRAME_X_DISPLAY_INFO (f) = dpyinfo; 3137 FRAME_X_DISPLAY_INFO (f) = dpyinfo;
3138 3138
@@ -3189,12 +3189,12 @@ This function is an internal primitive--use `make-frame' instead. */)
3189 be set. */ 3189 be set. */
3190 if (EQ (name, Qunbound) || NILP (name)) 3190 if (EQ (name, Qunbound) || NILP (name))
3191 { 3191 {
3192 FSET (f, name, build_string (dpyinfo->x_id_name)); 3192 fset_name (f, build_string (dpyinfo->x_id_name));
3193 f->explicit_name = 0; 3193 f->explicit_name = 0;
3194 } 3194 }
3195 else 3195 else
3196 { 3196 {
3197 FSET (f, name, name); 3197 fset_name (f, name);
3198 f->explicit_name = 1; 3198 f->explicit_name = 1;
3199 /* use the frame's title when getting resources for this frame. */ 3199 /* use the frame's title when getting resources for this frame. */
3200 specbind (Qx_resource_name, name); 3200 specbind (Qx_resource_name, name);
@@ -3461,7 +3461,7 @@ This function is an internal primitive--use `make-frame' instead. */)
3461 by x_get_arg and friends, now go in the misc. alist of the frame. */ 3461 by x_get_arg and friends, now go in the misc. alist of the frame. */
3462 for (tem = parms; CONSP (tem); tem = XCDR (tem)) 3462 for (tem = parms; CONSP (tem); tem = XCDR (tem))
3463 if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem)))) 3463 if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem))))
3464 FSET (f, param_alist, Fcons (XCAR (tem), f->param_alist)); 3464 fset_param_alist (f, Fcons (XCAR (tem), f->param_alist));
3465 3465
3466 UNGCPRO; 3466 UNGCPRO;
3467 3467
@@ -4616,7 +4616,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
4616 f->output_data.x->scroll_bar_top_shadow_pixel = -1; 4616 f->output_data.x->scroll_bar_top_shadow_pixel = -1;
4617 f->output_data.x->scroll_bar_bottom_shadow_pixel = -1; 4617 f->output_data.x->scroll_bar_bottom_shadow_pixel = -1;
4618#endif /* USE_TOOLKIT_SCROLL_BARS */ 4618#endif /* USE_TOOLKIT_SCROLL_BARS */
4619 FSET (f, icon_name, Qnil); 4619 fset_icon_name (f, Qnil);
4620 FRAME_X_DISPLAY_INFO (f) = dpyinfo; 4620 FRAME_X_DISPLAY_INFO (f) = dpyinfo;
4621 f->output_data.x->parent_desc = FRAME_X_DISPLAY_INFO (f)->root_window; 4621 f->output_data.x->parent_desc = FRAME_X_DISPLAY_INFO (f)->root_window;
4622 f->output_data.x->explicit_parent = 0; 4622 f->output_data.x->explicit_parent = 0;
@@ -4658,12 +4658,12 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
4658 be set. */ 4658 be set. */
4659 if (EQ (name, Qunbound) || NILP (name)) 4659 if (EQ (name, Qunbound) || NILP (name))
4660 { 4660 {
4661 FSET (f, name, build_string (dpyinfo->x_id_name)); 4661 fset_name (f, build_string (dpyinfo->x_id_name));
4662 f->explicit_name = 0; 4662 f->explicit_name = 0;
4663 } 4663 }
4664 else 4664 else
4665 { 4665 {
4666 FSET (f, name, name); 4666 fset_name (f, name);
4667 f->explicit_name = 1; 4667 f->explicit_name = 1;
4668 /* use the frame's title when getting resources for this frame. */ 4668 /* use the frame's title when getting resources for this frame. */
4669 specbind (Qx_resource_name, name); 4669 specbind (Qx_resource_name, name);
diff --git a/src/xmenu.c b/src/xmenu.c
index ab790094f85..54a7849218a 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1008,7 +1008,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
1008 if (! NILP (Vlucid_menu_bar_dirty_flag)) 1008 if (! NILP (Vlucid_menu_bar_dirty_flag))
1009 call0 (Qrecompute_lucid_menubar); 1009 call0 (Qrecompute_lucid_menubar);
1010 safe_run_hooks (Qmenu_bar_update_hook); 1010 safe_run_hooks (Qmenu_bar_update_hook);
1011 FSET (f, menu_bar_items, menu_bar_items (FRAME_MENU_BAR_ITEMS (f))); 1011 fset_menu_bar_items (f, menu_bar_items (FRAME_MENU_BAR_ITEMS (f)));
1012 1012
1013 items = FRAME_MENU_BAR_ITEMS (f); 1013 items = FRAME_MENU_BAR_ITEMS (f);
1014 1014
@@ -1100,7 +1100,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
1100 } 1100 }
1101 1101
1102 /* The menu items are different, so store them in the frame. */ 1102 /* The menu items are different, so store them in the frame. */
1103 FSET (f, menu_bar_vector, menu_items); 1103 fset_menu_bar_vector (f, menu_items);
1104 f->menu_bar_items_used = menu_items_used; 1104 f->menu_bar_items_used = menu_items_used;
1105 1105
1106 /* This undoes save_menu_items. */ 1106 /* This undoes save_menu_items. */
@@ -1283,7 +1283,7 @@ initialize_frame_menubar (FRAME_PTR f)
1283{ 1283{
1284 /* This function is called before the first chance to redisplay 1284 /* This function is called before the first chance to redisplay
1285 the frame. It has to be, so the frame will have the right size. */ 1285 the frame. It has to be, so the frame will have the right size. */
1286 FSET (f, menu_bar_items, menu_bar_items (FRAME_MENU_BAR_ITEMS (f))); 1286 fset_menu_bar_items (f, menu_bar_items (FRAME_MENU_BAR_ITEMS (f)));
1287 set_frame_menubar (f, 1, 1); 1287 set_frame_menubar (f, 1, 1);
1288} 1288}
1289 1289
diff --git a/src/xterm.c b/src/xterm.c
index b1a73d07998..715e3664ec2 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -3584,7 +3584,7 @@ x_frame_rehighlight (struct x_display_info *dpyinfo)
3584 : dpyinfo->x_focus_frame); 3584 : dpyinfo->x_focus_frame);
3585 if (! FRAME_LIVE_P (dpyinfo->x_highlight_frame)) 3585 if (! FRAME_LIVE_P (dpyinfo->x_highlight_frame))
3586 { 3586 {
3587 FSET (dpyinfo->x_focus_frame, focus_frame, Qnil); 3587 fset_focus_frame (dpyinfo->x_focus_frame, Qnil);
3588 dpyinfo->x_highlight_frame = dpyinfo->x_focus_frame; 3588 dpyinfo->x_highlight_frame = dpyinfo->x_focus_frame;
3589 } 3589 }
3590 } 3590 }
@@ -5018,7 +5018,7 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height)
5018 bar->next = FRAME_SCROLL_BARS (f); 5018 bar->next = FRAME_SCROLL_BARS (f);
5019 bar->prev = Qnil; 5019 bar->prev = Qnil;
5020 XSETVECTOR (barobj, bar); 5020 XSETVECTOR (barobj, bar);
5021 FSET (f, scroll_bars, barobj); 5021 fset_scroll_bars (f, barobj);
5022 if (!NILP (bar->next)) 5022 if (!NILP (bar->next))
5023 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar); 5023 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar);
5024 5024
@@ -5419,12 +5419,12 @@ XTcondemn_scroll_bars (FRAME_PTR frame)
5419 { 5419 {
5420 Lisp_Object bar; 5420 Lisp_Object bar;
5421 bar = FRAME_SCROLL_BARS (frame); 5421 bar = FRAME_SCROLL_BARS (frame);
5422 FSET (frame, scroll_bars, XSCROLL_BAR (bar)->next); 5422 fset_scroll_bars (frame, XSCROLL_BAR (bar)->next);
5423 XSCROLL_BAR (bar)->next = FRAME_CONDEMNED_SCROLL_BARS (frame); 5423 XSCROLL_BAR (bar)->next = FRAME_CONDEMNED_SCROLL_BARS (frame);
5424 XSCROLL_BAR (bar)->prev = Qnil; 5424 XSCROLL_BAR (bar)->prev = Qnil;
5425 if (! NILP (FRAME_CONDEMNED_SCROLL_BARS (frame))) 5425 if (! NILP (FRAME_CONDEMNED_SCROLL_BARS (frame)))
5426 XSCROLL_BAR (FRAME_CONDEMNED_SCROLL_BARS (frame))->prev = bar; 5426 XSCROLL_BAR (FRAME_CONDEMNED_SCROLL_BARS (frame))->prev = bar;
5427 FSET (frame, condemned_scroll_bars, bar); 5427 fset_condemned_scroll_bars (frame, bar);
5428 } 5428 }
5429} 5429}
5430 5430
@@ -5456,7 +5456,7 @@ XTredeem_scroll_bar (struct window *window)
5456 return; 5456 return;
5457 else if (EQ (FRAME_CONDEMNED_SCROLL_BARS (f), 5457 else if (EQ (FRAME_CONDEMNED_SCROLL_BARS (f),
5458 window->vertical_scroll_bar)) 5458 window->vertical_scroll_bar))
5459 FSET (f, condemned_scroll_bars, bar->next); 5459 fset_condemned_scroll_bars (f, bar->next);
5460 else 5460 else
5461 /* If its prev pointer is nil, it must be at the front of 5461 /* If its prev pointer is nil, it must be at the front of
5462 one or the other! */ 5462 one or the other! */
@@ -5471,7 +5471,7 @@ XTredeem_scroll_bar (struct window *window)
5471 bar->next = FRAME_SCROLL_BARS (f); 5471 bar->next = FRAME_SCROLL_BARS (f);
5472 bar->prev = Qnil; 5472 bar->prev = Qnil;
5473 XSETVECTOR (barobj, bar); 5473 XSETVECTOR (barobj, bar);
5474 FSET (f, scroll_bars, barobj); 5474 fset_scroll_bars (f, barobj);
5475 if (! NILP (bar->next)) 5475 if (! NILP (bar->next))
5476 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar); 5476 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar);
5477} 5477}
@@ -5488,7 +5488,7 @@ XTjudge_scroll_bars (FRAME_PTR f)
5488 5488
5489 /* Clear out the condemned list now so we won't try to process any 5489 /* Clear out the condemned list now so we won't try to process any
5490 more events on the hapless scroll bars. */ 5490 more events on the hapless scroll bars. */
5491 FSET (f, condemned_scroll_bars, Qnil); 5491 fset_condemned_scroll_bars (f, Qnil);
5492 5492
5493 for (; ! NILP (bar); bar = next) 5493 for (; ! NILP (bar); bar = next)
5494 { 5494 {