Drop FGET and revert read access to Lisp_Objects slots of struct frame.
* frame.h (FGET): Remove. (struct frame): Do not use INTERNAL_FIELD. * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c: * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m: * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h: * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
This commit is contained in:
parent
5fb50dd302
commit
e69b096079
28 changed files with 353 additions and 354 deletions
|
@ -1,3 +1,13 @@
|
|||
2012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
Drop FGET and revert read access to Lisp_Objects slots of struct frame.
|
||||
* frame.h (FGET): Remove.
|
||||
(struct frame): Do not use INTERNAL_FIELD.
|
||||
* buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
|
||||
* fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
|
||||
* print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
|
||||
* xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
|
||||
|
||||
2012-08-06 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* w32.c: Silence compiler warnings.
|
||||
|
|
14
src/buffer.c
14
src/buffer.c
|
@ -193,9 +193,9 @@ followed by the rest of the buffers. */)
|
|||
Lisp_Object args[3];
|
||||
|
||||
CHECK_FRAME (frame);
|
||||
framelist = Fcopy_sequence (FGET (XFRAME (frame), buffer_list));
|
||||
framelist = Fcopy_sequence (XFRAME (frame)->buffer_list);
|
||||
prevlist = Fnreverse (Fcopy_sequence
|
||||
(FGET (XFRAME (frame), buried_buffer_list)));
|
||||
(XFRAME (frame)->buried_buffer_list));
|
||||
|
||||
/* Remove from GENERAL any buffer that duplicates one in
|
||||
FRAMELIST or PREVLIST. */
|
||||
|
@ -1327,7 +1327,7 @@ exists, return the buffer `*scratch*' (creating it if necessary). */)
|
|||
|
||||
pred = frame_buffer_predicate (frame);
|
||||
/* Consider buffers that have been seen in the frame first. */
|
||||
tail = FGET (XFRAME (frame), buffer_list);
|
||||
tail = XFRAME (frame)->buffer_list;
|
||||
for (; CONSP (tail); tail = XCDR (tail))
|
||||
{
|
||||
buf = XCAR (tail);
|
||||
|
@ -1767,8 +1767,8 @@ record_buffer (Lisp_Object buffer)
|
|||
Vinhibit_quit = tem;
|
||||
|
||||
/* Update buffer list of selected frame. */
|
||||
FSET (f, buffer_list, Fcons (buffer, Fdelq (buffer, FGET (f, buffer_list))));
|
||||
FSET (f, buried_buffer_list, Fdelq (buffer, FGET (f, buried_buffer_list)));
|
||||
FSET (f, buffer_list, Fcons (buffer, Fdelq (buffer, f->buffer_list)));
|
||||
FSET (f, buried_buffer_list, Fdelq (buffer, f->buried_buffer_list));
|
||||
|
||||
/* Run buffer-list-update-hook. */
|
||||
if (!NILP (Vrun_hooks))
|
||||
|
@ -1805,9 +1805,9 @@ DEFUN ("bury-buffer-internal", Fbury_buffer_internal, Sbury_buffer_internal,
|
|||
Vinhibit_quit = tem;
|
||||
|
||||
/* Update buffer lists of selected frame. */
|
||||
FSET (f, buffer_list, Fdelq (buffer, FGET (f, buffer_list)));
|
||||
FSET (f, buffer_list, Fdelq (buffer, f->buffer_list));
|
||||
FSET (f, buried_buffer_list,
|
||||
Fcons (buffer, Fdelq (buffer, FGET (f, buried_buffer_list))));
|
||||
Fcons (buffer, Fdelq (buffer, f->buried_buffer_list)));
|
||||
|
||||
/* Run buffer-list-update-hook. */
|
||||
if (!NILP (Vrun_hooks))
|
||||
|
|
|
@ -1006,8 +1006,7 @@ swap_in_symval_forwarding (struct Lisp_Symbol *symbol, struct Lisp_Buffer_Local_
|
|||
XSETSYMBOL (var, symbol);
|
||||
if (blv->frame_local)
|
||||
{
|
||||
tem1 = assq_no_quit (var, FGET (XFRAME (selected_frame),
|
||||
param_alist));
|
||||
tem1 = assq_no_quit (var, XFRAME (selected_frame)->param_alist);
|
||||
blv->where = selected_frame;
|
||||
}
|
||||
else
|
||||
|
@ -1180,7 +1179,7 @@ set_internal (register Lisp_Object symbol, register Lisp_Object newval, register
|
|||
XSETSYMBOL (symbol, sym); /* May have changed via aliasing. */
|
||||
tem1 = Fassq (symbol,
|
||||
(blv->frame_local
|
||||
? FGET (XFRAME (where), param_alist)
|
||||
? XFRAME (where)->param_alist
|
||||
: BVAR (XBUFFER (where), local_var_alist)));
|
||||
blv->where = where;
|
||||
blv->found = 1;
|
||||
|
|
|
@ -821,12 +821,12 @@ clear_current_matrices (register struct frame *f)
|
|||
/* Clear the matrix of the menu bar window, if such a window exists.
|
||||
The menu bar window is currently used to display menus on X when
|
||||
no toolkit support is compiled in. */
|
||||
if (WINDOWP (FGET (f, menu_bar_window)))
|
||||
clear_glyph_matrix (XWINDOW (FGET (f, menu_bar_window))->current_matrix);
|
||||
if (WINDOWP (f->menu_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->menu_bar_window)->current_matrix);
|
||||
|
||||
/* Clear the matrix of the tool-bar window, if any. */
|
||||
if (WINDOWP (FGET (f, tool_bar_window)))
|
||||
clear_glyph_matrix (XWINDOW (FGET (f, tool_bar_window))->current_matrix);
|
||||
if (WINDOWP (f->tool_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
|
||||
|
||||
/* Clear current window matrices. */
|
||||
eassert (WINDOWP (FRAME_ROOT_WINDOW (f)));
|
||||
|
@ -842,11 +842,11 @@ clear_desired_matrices (register struct frame *f)
|
|||
if (f->desired_matrix)
|
||||
clear_glyph_matrix (f->desired_matrix);
|
||||
|
||||
if (WINDOWP (FGET (f, menu_bar_window)))
|
||||
clear_glyph_matrix (XWINDOW (FGET (f, menu_bar_window))->desired_matrix);
|
||||
if (WINDOWP (f->menu_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->menu_bar_window)->desired_matrix);
|
||||
|
||||
if (WINDOWP (FGET (f, tool_bar_window)))
|
||||
clear_glyph_matrix (XWINDOW (FGET (f, tool_bar_window))->desired_matrix);
|
||||
if (WINDOWP (f->tool_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->tool_bar_window)->desired_matrix);
|
||||
|
||||
/* Do it for window matrices. */
|
||||
eassert (WINDOWP (FRAME_ROOT_WINDOW (f)));
|
||||
|
@ -1881,7 +1881,7 @@ static void
|
|||
adjust_frame_glyphs_initially (void)
|
||||
{
|
||||
struct frame *sf = SELECTED_FRAME ();
|
||||
struct window *root = XWINDOW (FGET (sf, root_window));
|
||||
struct window *root = XWINDOW (sf->root_window);
|
||||
struct window *mini = XWINDOW (WGET (root, next));
|
||||
int frame_lines = FRAME_LINES (sf);
|
||||
int frame_cols = FRAME_COLS (sf);
|
||||
|
@ -2164,17 +2164,17 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
|
|||
{
|
||||
/* Allocate a dummy window if not already done. */
|
||||
struct window *w;
|
||||
if (NILP (FGET (f, menu_bar_window)))
|
||||
if (NILP (f->menu_bar_window))
|
||||
{
|
||||
Lisp_Object frame;
|
||||
FSET (f, menu_bar_window, make_window ());
|
||||
w = XWINDOW (FGET (f, menu_bar_window));
|
||||
w = XWINDOW (f->menu_bar_window);
|
||||
XSETFRAME (frame, f);
|
||||
WSET (w, frame, frame);
|
||||
w->pseudo_window_p = 1;
|
||||
}
|
||||
else
|
||||
w = XWINDOW (FGET (f, menu_bar_window));
|
||||
w = XWINDOW (f->menu_bar_window);
|
||||
|
||||
/* Set window dimensions to frame dimensions and allocate or
|
||||
adjust glyph matrices of W. */
|
||||
|
@ -2192,17 +2192,17 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
|
|||
/* Allocate/ reallocate matrices of the tool bar window. If we
|
||||
don't have a tool bar window yet, make one. */
|
||||
struct window *w;
|
||||
if (NILP (FGET (f, tool_bar_window)))
|
||||
if (NILP (f->tool_bar_window))
|
||||
{
|
||||
Lisp_Object frame;
|
||||
FSET (f, tool_bar_window, make_window ());
|
||||
w = XWINDOW (FGET (f, tool_bar_window));
|
||||
w = XWINDOW (f->tool_bar_window);
|
||||
XSETFRAME (frame, f);
|
||||
WSET (w, frame, frame);
|
||||
w->pseudo_window_p = 1;
|
||||
}
|
||||
else
|
||||
w = XWINDOW (FGET (f, tool_bar_window));
|
||||
w = XWINDOW (f->tool_bar_window);
|
||||
|
||||
WSET (w, top_line, make_number (FRAME_MENU_BAR_LINES (f)));
|
||||
WSET (w, left_col, make_number (0));
|
||||
|
@ -2262,14 +2262,14 @@ free_glyphs (struct frame *f)
|
|||
f->glyphs_initialized_p = 0;
|
||||
|
||||
/* Release window sub-matrices. */
|
||||
if (!NILP (FGET (f, root_window)))
|
||||
free_window_matrices (XWINDOW (FGET (f, root_window)));
|
||||
if (!NILP (f->root_window))
|
||||
free_window_matrices (XWINDOW (f->root_window));
|
||||
|
||||
/* Free the dummy window for menu bars without X toolkit and its
|
||||
glyph matrices. */
|
||||
if (!NILP (FGET (f, menu_bar_window)))
|
||||
if (!NILP (f->menu_bar_window))
|
||||
{
|
||||
struct window *w = XWINDOW (FGET (f, menu_bar_window));
|
||||
struct window *w = XWINDOW (f->menu_bar_window);
|
||||
free_glyph_matrix (w->desired_matrix);
|
||||
free_glyph_matrix (w->current_matrix);
|
||||
w->desired_matrix = w->current_matrix = NULL;
|
||||
|
@ -2277,9 +2277,9 @@ free_glyphs (struct frame *f)
|
|||
}
|
||||
|
||||
/* Free the tool bar window and its glyph matrices. */
|
||||
if (!NILP (FGET (f, tool_bar_window)))
|
||||
if (!NILP (f->tool_bar_window))
|
||||
{
|
||||
struct window *w = XWINDOW (FGET (f, tool_bar_window));
|
||||
struct window *w = XWINDOW (f->tool_bar_window);
|
||||
free_glyph_matrix (w->desired_matrix);
|
||||
free_glyph_matrix (w->current_matrix);
|
||||
w->desired_matrix = w->current_matrix = NULL;
|
||||
|
@ -2706,7 +2706,7 @@ make_current (struct glyph_matrix *desired_matrix, struct glyph_matrix *current_
|
|||
/* If we are called on frame matrices, perform analogous operations
|
||||
for window matrices. */
|
||||
if (frame_matrix_frame)
|
||||
mirror_make_current (XWINDOW (FGET (frame_matrix_frame, root_window)), row);
|
||||
mirror_make_current (XWINDOW (frame_matrix_frame->root_window), row);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2804,7 +2804,7 @@ mirrored_line_dance (struct glyph_matrix *matrix, int unchanged_at_top, int nlin
|
|||
|
||||
/* Do the same for window matrices, if MATRIX is a frame matrix. */
|
||||
if (frame_matrix_frame)
|
||||
mirror_line_dance (XWINDOW (FGET (frame_matrix_frame, root_window)),
|
||||
mirror_line_dance (XWINDOW (frame_matrix_frame->root_window),
|
||||
unchanged_at_top, nlines, copy_from, retained_p);
|
||||
}
|
||||
|
||||
|
@ -3167,7 +3167,7 @@ update_frame (struct frame *f, int force_p, int inhibit_hairy_id_p)
|
|||
{
|
||||
/* 1 means display has been paused because of pending input. */
|
||||
int paused_p;
|
||||
struct window *root_window = XWINDOW (FGET (f, root_window));
|
||||
struct window *root_window = XWINDOW (f->root_window);
|
||||
|
||||
if (redisplay_dont_pause)
|
||||
force_p = 1;
|
||||
|
@ -3202,13 +3202,13 @@ update_frame (struct frame *f, int force_p, int inhibit_hairy_id_p)
|
|||
|
||||
/* Update the menu bar on X frames that don't have toolkit
|
||||
support. */
|
||||
if (WINDOWP (FGET (f, menu_bar_window)))
|
||||
update_window (XWINDOW (FGET (f, menu_bar_window)), 1);
|
||||
if (WINDOWP (f->menu_bar_window))
|
||||
update_window (XWINDOW (f->menu_bar_window), 1);
|
||||
|
||||
/* Update the tool-bar window, if present. */
|
||||
if (WINDOWP (FGET (f, tool_bar_window)))
|
||||
if (WINDOWP (f->tool_bar_window))
|
||||
{
|
||||
struct window *w = XWINDOW (FGET (f, tool_bar_window));
|
||||
struct window *w = XWINDOW (f->tool_bar_window);
|
||||
|
||||
/* Update tool-bar window. */
|
||||
if (w->must_be_updated_p)
|
||||
|
@ -3220,9 +3220,8 @@ update_frame (struct frame *f, int force_p, int inhibit_hairy_id_p)
|
|||
|
||||
/* Swap tool-bar strings. We swap because we want to
|
||||
reuse strings. */
|
||||
tem = FGET (f, current_tool_bar_string);
|
||||
FSET (f, current_tool_bar_string,
|
||||
FGET (f, desired_tool_bar_string));
|
||||
tem = f->current_tool_bar_string;
|
||||
FSET (f, current_tool_bar_string, f->desired_tool_bar_string);
|
||||
FSET (f, desired_tool_bar_string, tem);
|
||||
}
|
||||
}
|
||||
|
@ -5745,8 +5744,8 @@ change_frame_size_1 (register struct frame *f, int newheight, int newwidth, int
|
|||
if ((FRAME_TERMCAP_P (f) && !pretend) || FRAME_MSDOS_P (f))
|
||||
FrameCols (FRAME_TTY (f)) = newwidth;
|
||||
|
||||
if (WINDOWP (FGET (f, tool_bar_window)))
|
||||
WSET (XWINDOW (FGET (f, tool_bar_window)),
|
||||
if (WINDOWP (f->tool_bar_window))
|
||||
WSET (XWINDOW (f->tool_bar_window),
|
||||
total_cols, make_number (newwidth));
|
||||
}
|
||||
|
||||
|
@ -6071,7 +6070,7 @@ pass nil for VARIABLE. */)
|
|||
goto changed;
|
||||
if (vecp == end)
|
||||
goto changed;
|
||||
if (!EQ (*vecp++, FGET (XFRAME (frame), name)))
|
||||
if (!EQ (*vecp++, XFRAME (frame)->name))
|
||||
goto changed;
|
||||
}
|
||||
/* Check that the buffer info matches. */
|
||||
|
@ -6128,7 +6127,7 @@ pass nil for VARIABLE. */)
|
|||
FOR_EACH_FRAME (tail, frame)
|
||||
{
|
||||
*vecp++ = frame;
|
||||
*vecp++ = FGET (XFRAME (frame), name);
|
||||
*vecp++ = XFRAME (frame)->name;
|
||||
}
|
||||
for (tail = Vbuffer_alist; CONSP (tail); tail = XCDR (tail))
|
||||
{
|
||||
|
|
|
@ -468,7 +468,7 @@ void
|
|||
x_set_title (struct frame *f, Lisp_Object name)
|
||||
{
|
||||
/* Don't change the title if it's already NAME. */
|
||||
if (EQ (name, FGET (f, title)))
|
||||
if (EQ (name, f->title))
|
||||
return;
|
||||
|
||||
update_mode_lines = 1;
|
||||
|
@ -476,7 +476,7 @@ x_set_title (struct frame *f, Lisp_Object name)
|
|||
FSET (f, title, name);
|
||||
|
||||
if (NILP (name))
|
||||
name = FGET (f, name);
|
||||
name = f->name;
|
||||
|
||||
if (FRAME_MSDOS_P (f))
|
||||
{
|
||||
|
|
|
@ -3254,7 +3254,7 @@ unbind_to (ptrdiff_t count, Lisp_Object value)
|
|||
local binding, but only if that binding still exists. */
|
||||
else if (BUFFERP (where)
|
||||
? !NILP (Flocal_variable_p (symbol, where))
|
||||
: !NILP (Fassq (symbol, FGET (XFRAME (where), param_alist))))
|
||||
: !NILP (Fassq (symbol, XFRAME (where)->param_alist)))
|
||||
set_internal (symbol, this_binding.old_value, where, 1);
|
||||
}
|
||||
/* If variable has a trivial value (no forwarding), we can
|
||||
|
|
|
@ -2118,7 +2118,7 @@ dump_fontset (Lisp_Object fontset)
|
|||
if (FRAME_LIVE_P (f))
|
||||
ASET (vec, 1,
|
||||
Fcons (FONTSET_NAME (FONTSET_BASE (fontset)),
|
||||
FGET (f, name)));
|
||||
f->name));
|
||||
else
|
||||
ASET (vec, 1,
|
||||
Fcons (FONTSET_NAME (FONTSET_BASE (fontset)), Qnil));
|
||||
|
|
89
src/frame.c
89
src/frame.c
|
@ -170,7 +170,7 @@ set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
|
|||
windows_or_buffers_changed++;
|
||||
FRAME_WINDOW_SIZES_CHANGED (f) = 1;
|
||||
FRAME_MENU_BAR_LINES (f) = nlines;
|
||||
set_menu_bar_lines_1 (FGET (f, root_window), nlines - olines);
|
||||
set_menu_bar_lines_1 (f->root_window, nlines - olines);
|
||||
adjust_glyphs (f);
|
||||
}
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ make_frame (int mini_p)
|
|||
FSET (f, selected_window, root_window);
|
||||
/* Make sure this window seems more recently used than
|
||||
a newly-created, never-selected window. */
|
||||
XWINDOW (FGET (f, selected_window))->use_time = ++window_select_count;
|
||||
XWINDOW (f->selected_window)->use_time = ++window_select_count;
|
||||
|
||||
return f;
|
||||
}
|
||||
|
@ -398,8 +398,8 @@ make_frame_without_minibuffer (register Lisp_Object mini_window, KBOARD *kb, Lis
|
|||
UNGCPRO;
|
||||
}
|
||||
|
||||
mini_window = FGET (XFRAME (KVAR (kb, Vdefault_minibuffer_frame)),
|
||||
minibuffer_window);
|
||||
mini_window
|
||||
= XFRAME (KVAR (kb, Vdefault_minibuffer_frame))->minibuffer_window;
|
||||
}
|
||||
|
||||
FSET (f, minibuffer_window, mini_window);
|
||||
|
@ -437,7 +437,7 @@ make_minibuffer_frame (void)
|
|||
Avoid infinite looping on the window chain by marking next pointer
|
||||
as nil. */
|
||||
|
||||
mini_window = FSET (f, minibuffer_window, FGET (f, root_window));
|
||||
mini_window = FSET (f, minibuffer_window, f->root_window);
|
||||
XWINDOW (mini_window)->mini = 1;
|
||||
WSET (XWINDOW (mini_window), next, Qnil);
|
||||
WSET (XWINDOW (mini_window), prev, Qnil);
|
||||
|
@ -570,7 +570,7 @@ get_future_frame_param (Lisp_Object parameter,
|
|||
|
||||
result = Fassq (parameter, supplied_parms);
|
||||
if (NILP (result))
|
||||
result = Fassq (parameter, FGET (XFRAME (selected_frame), param_alist));
|
||||
result = Fassq (parameter, XFRAME (selected_frame)->param_alist);
|
||||
if (NILP (result) && current_value != NULL)
|
||||
result = build_string (current_value);
|
||||
if (!NILP (result) && !STRINGP (result))
|
||||
|
@ -689,11 +689,11 @@ affects all frames on the same terminal device. */)
|
|||
|
||||
/* Make the frame face alist be frame-specific, so that each
|
||||
frame could change its face definitions independently. */
|
||||
FSET (f, face_alist, Fcopy_alist (FGET (sf, face_alist)));
|
||||
FSET (f, face_alist, Fcopy_alist (sf->face_alist));
|
||||
/* Simple Fcopy_alist isn't enough, because we need the contents of
|
||||
the vectors which are the CDRs of associations in face_alist to
|
||||
be copied as well. */
|
||||
for (tem = FGET (f, face_alist); CONSP (tem); tem = XCDR (tem))
|
||||
for (tem = f->face_alist; CONSP (tem); tem = XCDR (tem))
|
||||
XSETCDR (XCAR (tem), Fcopy_sequence (XCDR (XCAR (tem))));
|
||||
return frame;
|
||||
}
|
||||
|
@ -797,7 +797,7 @@ do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object nor
|
|||
if (! FRAME_MINIBUF_ONLY_P (XFRAME (selected_frame)))
|
||||
last_nonminibuf_frame = XFRAME (selected_frame);
|
||||
|
||||
Fselect_window (FGET (XFRAME (frame), selected_window), norecord);
|
||||
Fselect_window (XFRAME (frame)->selected_window, norecord);
|
||||
|
||||
/* We want to make sure that the next event generates a frame-switch
|
||||
event to the appropriate frame. This seems kludgy to me, but
|
||||
|
@ -1238,11 +1238,11 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
|
|||
}
|
||||
|
||||
/* Don't allow minibuf_window to remain on a deleted frame. */
|
||||
if (EQ (FGET (f, minibuffer_window), minibuf_window))
|
||||
if (EQ (f->minibuffer_window, minibuf_window))
|
||||
{
|
||||
Fset_window_buffer (FGET (sf, minibuffer_window),
|
||||
Fset_window_buffer (sf->minibuffer_window,
|
||||
WGET (XWINDOW (minibuf_window), buffer), Qnil);
|
||||
minibuf_window = FGET (sf, minibuffer_window);
|
||||
minibuf_window = sf->minibuffer_window;
|
||||
|
||||
/* If the dying minibuffer window was selected,
|
||||
select the new one. */
|
||||
|
@ -1251,8 +1251,8 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
|
|||
}
|
||||
|
||||
/* Don't let echo_area_window to remain on a deleted frame. */
|
||||
if (EQ (FGET (f, minibuffer_window), echo_area_window))
|
||||
echo_area_window = FGET (sf, minibuffer_window);
|
||||
if (EQ (f->minibuffer_window, echo_area_window))
|
||||
echo_area_window = sf->minibuffer_window;
|
||||
|
||||
/* Clear any X selections for this frame. */
|
||||
#ifdef HAVE_X_WINDOWS
|
||||
|
@ -1273,7 +1273,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
|
|||
|
||||
/* Mark all the windows that used to be on FRAME as deleted, and then
|
||||
remove the reference to them. */
|
||||
delete_all_child_windows (FGET (f, root_window));
|
||||
delete_all_child_windows (f->root_window);
|
||||
FSET (f, root_window, Qnil);
|
||||
|
||||
Vframe_list = Fdelq (frame, Vframe_list);
|
||||
|
@ -1656,7 +1656,7 @@ If omitted, FRAME defaults to the currently selected frame. */)
|
|||
}
|
||||
#endif
|
||||
|
||||
make_frame_visible_1 (FGET (XFRAME (frame), root_window));
|
||||
make_frame_visible_1 (XFRAME (frame)->root_window);
|
||||
|
||||
/* Make menu bar update for the Buffers and Frames menus. */
|
||||
windows_or_buffers_changed++;
|
||||
|
@ -1710,12 +1710,12 @@ displayed in the terminal. */)
|
|||
error ("Attempt to make invisible the sole visible or iconified frame");
|
||||
|
||||
/* Don't allow minibuf_window to remain on a deleted frame. */
|
||||
if (EQ (FGET (XFRAME (frame), minibuffer_window), minibuf_window))
|
||||
if (EQ (XFRAME (frame)->minibuffer_window, minibuf_window))
|
||||
{
|
||||
struct frame *sf = XFRAME (selected_frame);
|
||||
Fset_window_buffer (FGET (sf, minibuffer_window),
|
||||
Fset_window_buffer (sf->minibuffer_window,
|
||||
WGET (XWINDOW (minibuf_window), buffer), Qnil);
|
||||
minibuf_window = FGET (sf, minibuffer_window);
|
||||
minibuf_window = sf->minibuffer_window;
|
||||
}
|
||||
|
||||
/* I think this should be done with a hook. */
|
||||
|
@ -1748,12 +1748,12 @@ If omitted, FRAME defaults to the currently selected frame. */)
|
|||
#endif
|
||||
|
||||
/* Don't allow minibuf_window to remain on a deleted frame. */
|
||||
if (EQ (FGET (XFRAME (frame), minibuffer_window), minibuf_window))
|
||||
if (EQ (XFRAME (frame)->minibuffer_window, minibuf_window))
|
||||
{
|
||||
struct frame *sf = XFRAME (selected_frame);
|
||||
Fset_window_buffer (FGET (sf, minibuffer_window),
|
||||
Fset_window_buffer (sf->minibuffer_window,
|
||||
WGET (XWINDOW (minibuf_window), buffer), Qnil);
|
||||
minibuf_window = FGET (sf, minibuffer_window);
|
||||
minibuf_window = sf->minibuffer_window;
|
||||
}
|
||||
|
||||
/* I think this should be done with a hook. */
|
||||
|
@ -1940,7 +1940,7 @@ get_frame_param (register struct frame *frame, Lisp_Object prop)
|
|||
{
|
||||
register Lisp_Object tem;
|
||||
|
||||
tem = Fassq (prop, FGET (frame, param_alist));
|
||||
tem = Fassq (prop, frame->param_alist);
|
||||
if (EQ (tem, Qnil))
|
||||
return tem;
|
||||
return Fcdr (tem);
|
||||
|
@ -1952,7 +1952,7 @@ get_frame_param (register struct frame *frame, Lisp_Object prop)
|
|||
Lisp_Object
|
||||
frame_buffer_predicate (Lisp_Object frame)
|
||||
{
|
||||
return FGET (XFRAME (frame), buffer_predicate);
|
||||
return XFRAME (frame)->buffer_predicate;
|
||||
}
|
||||
|
||||
/* Return the buffer-list of the selected frame. */
|
||||
|
@ -1960,7 +1960,7 @@ frame_buffer_predicate (Lisp_Object frame)
|
|||
static Lisp_Object
|
||||
frame_buffer_list (Lisp_Object frame)
|
||||
{
|
||||
return FGET (XFRAME (frame), buffer_list);
|
||||
return XFRAME (frame)->buffer_list;
|
||||
}
|
||||
|
||||
/* Discard BUFFER from the buffer-list and buried-buffer-list of each frame. */
|
||||
|
@ -1973,9 +1973,9 @@ frames_discard_buffer (Lisp_Object buffer)
|
|||
FOR_EACH_FRAME (tail, frame)
|
||||
{
|
||||
FSET (XFRAME (frame), buffer_list,
|
||||
Fdelq (buffer, FGET (XFRAME (frame), buffer_list)));
|
||||
Fdelq (buffer, XFRAME (frame)->buffer_list));
|
||||
FSET (XFRAME (frame), buried_buffer_list,
|
||||
Fdelq (buffer, FGET (XFRAME (frame), buried_buffer_list)));
|
||||
Fdelq (buffer, XFRAME (frame)->buried_buffer_list));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2023,8 +2023,7 @@ set_term_frame_name (struct frame *f, Lisp_Object name)
|
|||
|
||||
/* Check for no change needed in this very common case
|
||||
before we do any consing. */
|
||||
if (frame_name_fnn_p (SSDATA (FGET (f, name)),
|
||||
SBYTES (FGET (f, name))))
|
||||
if (frame_name_fnn_p (SSDATA (f->name), SBYTES (f->name)))
|
||||
return;
|
||||
|
||||
name = make_formatted_string (namebuf, "F%"pMd, ++tty_frame_count);
|
||||
|
@ -2034,7 +2033,7 @@ set_term_frame_name (struct frame *f, Lisp_Object name)
|
|||
CHECK_STRING (name);
|
||||
|
||||
/* Don't change the name if it's already NAME. */
|
||||
if (! NILP (Fstring_equal (name, FGET (f, name))))
|
||||
if (! NILP (Fstring_equal (name, f->name)))
|
||||
return;
|
||||
|
||||
/* Don't allow the user to set the frame name to F<num>, so it
|
||||
|
@ -2104,9 +2103,9 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
|
|||
FRAME_TTY (f)->previous_frame = NULL;
|
||||
|
||||
/* Update the frame parameter alist. */
|
||||
old_alist_elt = Fassq (prop, FGET (f, param_alist));
|
||||
old_alist_elt = Fassq (prop, f->param_alist);
|
||||
if (EQ (old_alist_elt, Qnil))
|
||||
FSET (f, param_alist, Fcons (Fcons (prop, val), FGET (f, param_alist)));
|
||||
FSET (f, param_alist, Fcons (Fcons (prop, val), f->param_alist));
|
||||
else
|
||||
Fsetcdr (old_alist_elt, val);
|
||||
|
||||
|
@ -2130,7 +2129,7 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
|
|||
error ("Surrogate minibuffer windows must be minibuffer windows");
|
||||
|
||||
if ((FRAME_HAS_MINIBUF_P (f) || FRAME_MINIBUF_ONLY_P (f))
|
||||
&& !EQ (val, FGET (f, minibuffer_window)))
|
||||
&& !EQ (val, f->minibuffer_window))
|
||||
error ("Can't change the surrogate minibuffer of a frame with its own minibuffer");
|
||||
|
||||
/* Install the chosen minibuffer window, with proper buffer. */
|
||||
|
@ -2159,7 +2158,7 @@ If FRAME is omitted, return information on the currently selected frame. */)
|
|||
if (!FRAME_LIVE_P (f))
|
||||
return Qnil;
|
||||
|
||||
alist = Fcopy_alist (FGET (f, param_alist));
|
||||
alist = Fcopy_alist (f->param_alist);
|
||||
GCPRO1 (alist);
|
||||
|
||||
if (!FRAME_WINDOW_P (f))
|
||||
|
@ -2205,7 +2204,7 @@ If FRAME is omitted, return information on the currently selected frame. */)
|
|||
: FRAME_W32_P (f) ? "w32term"
|
||||
:"tty"));
|
||||
}
|
||||
store_in_alist (&alist, Qname, FGET (f, name));
|
||||
store_in_alist (&alist, Qname, f->name);
|
||||
height = (f->new_text_lines ? f->new_text_lines : FRAME_LINES (f));
|
||||
store_in_alist (&alist, Qheight, make_number (height));
|
||||
width = (f->new_text_cols ? f->new_text_cols : FRAME_COLS (f));
|
||||
|
@ -2218,7 +2217,7 @@ If FRAME is omitted, return information on the currently selected frame. */)
|
|||
store_in_alist (&alist, Qunsplittable, (FRAME_NO_SPLIT_P (f) ? Qt : Qnil));
|
||||
store_in_alist (&alist, Qbuffer_list, frame_buffer_list (frame));
|
||||
store_in_alist (&alist, Qburied_buffer_list,
|
||||
FGET (XFRAME (frame), buried_buffer_list));
|
||||
XFRAME (frame)->buried_buffer_list);
|
||||
|
||||
/* I think this should be done with a hook. */
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
|
@ -2259,7 +2258,7 @@ If FRAME is nil, describe the currently selected frame. */)
|
|||
{
|
||||
/* Avoid consing in frequent cases. */
|
||||
if (EQ (parameter, Qname))
|
||||
value = FGET (f, name);
|
||||
value = f->name;
|
||||
#ifdef HAVE_X_WINDOWS
|
||||
else if (EQ (parameter, Qdisplay) && FRAME_X_P (f))
|
||||
value = XCAR (FRAME_X_DISPLAY_INFO (f)->name_list_element);
|
||||
|
@ -2267,7 +2266,7 @@ If FRAME is nil, describe the currently selected frame. */)
|
|||
else if (EQ (parameter, Qbackground_color)
|
||||
|| EQ (parameter, Qforeground_color))
|
||||
{
|
||||
value = Fassq (parameter, FGET (f, param_alist));
|
||||
value = Fassq (parameter, f->param_alist);
|
||||
if (CONSP (value))
|
||||
{
|
||||
value = XCDR (value);
|
||||
|
@ -2305,7 +2304,7 @@ If FRAME is nil, describe the currently selected frame. */)
|
|||
}
|
||||
else if (EQ (parameter, Qdisplay_type)
|
||||
|| EQ (parameter, Qbackground_mode))
|
||||
value = Fcdr (Fassq (parameter, FGET (f, param_alist)));
|
||||
value = Fcdr (Fassq (parameter, f->param_alist));
|
||||
else
|
||||
/* FIXME: Avoid this code path at all (as well as code duplication)
|
||||
by sharing more code with Fframe_parameters. */
|
||||
|
@ -2891,14 +2890,14 @@ x_set_frame_parameters (FRAME_PTR f, Lisp_Object alist)
|
|||
if (! TYPE_RANGED_INTEGERP (int, icon_left))
|
||||
{
|
||||
icon_left_no_change = 1;
|
||||
icon_left = Fcdr (Fassq (Qicon_left, FGET (f, param_alist)));
|
||||
icon_left = Fcdr (Fassq (Qicon_left, f->param_alist));
|
||||
if (NILP (icon_left))
|
||||
XSETINT (icon_left, 0);
|
||||
}
|
||||
if (! TYPE_RANGED_INTEGERP (int, icon_top))
|
||||
{
|
||||
icon_top_no_change = 1;
|
||||
icon_top = Fcdr (Fassq (Qicon_top, FGET (f, param_alist)));
|
||||
icon_top = Fcdr (Fassq (Qicon_top, f->param_alist));
|
||||
if (NILP (icon_top))
|
||||
XSETINT (icon_top, 0);
|
||||
}
|
||||
|
@ -3058,7 +3057,7 @@ x_report_frame_params (struct frame *f, Lisp_Object *alistptr)
|
|||
store_in_alist (alistptr, Qouter_window_id,
|
||||
make_formatted_string (buf, "%lu", w));
|
||||
#endif
|
||||
store_in_alist (alistptr, Qicon_name, FGET (f, icon_name));
|
||||
store_in_alist (alistptr, Qicon_name, f->icon_name);
|
||||
FRAME_SAMPLE_VISIBILITY (f);
|
||||
store_in_alist (alistptr, Qvisibility,
|
||||
(FRAME_VISIBLE_P (f) ? Qt
|
||||
|
@ -3072,7 +3071,7 @@ x_report_frame_params (struct frame *f, Lisp_Object *alistptr)
|
|||
XSETFASTINT (tem, FRAME_X_OUTPUT (f)->parent_desc);
|
||||
store_in_alist (alistptr, Qexplicit_name, (f->explicit_name ? Qt : Qnil));
|
||||
store_in_alist (alistptr, Qparent_id, tem);
|
||||
store_in_alist (alistptr, Qtool_bar_position, FGET (f, tool_bar_position));
|
||||
store_in_alist (alistptr, Qtool_bar_position, f->tool_bar_position);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3132,7 +3131,7 @@ x_set_screen_gamma (struct frame *f, Lisp_Object new_value, Lisp_Object old_valu
|
|||
signal_error ("Invalid screen-gamma", new_value);
|
||||
|
||||
/* Apply the new gamma value to the frame background. */
|
||||
bgcolor = Fassq (Qbackground_color, FGET (f, param_alist));
|
||||
bgcolor = Fassq (Qbackground_color, f->param_alist);
|
||||
if (CONSP (bgcolor) && (bgcolor = XCDR (bgcolor), STRINGP (bgcolor)))
|
||||
{
|
||||
Lisp_Object parm_index = Fget (Qbackground_color, Qx_frame_parameter);
|
||||
|
@ -3461,7 +3460,7 @@ x_icon_type (FRAME_PTR f)
|
|||
{
|
||||
Lisp_Object tem;
|
||||
|
||||
tem = assq_no_quit (Qicon_type, FGET (f, param_alist));
|
||||
tem = assq_no_quit (Qicon_type, f->param_alist);
|
||||
if (CONSP (tem))
|
||||
return XCDR (tem);
|
||||
else
|
||||
|
|
76
src/frame.h
76
src/frame.h
|
@ -80,15 +80,9 @@ struct terminal;
|
|||
|
||||
struct font_driver_list;
|
||||
|
||||
/* Most code should use these macros to access Lisp fields
|
||||
in struct frame. FGET should not be used as lvalue. */
|
||||
/* Most code should use this macro to set Lisp field in struct frame. */
|
||||
|
||||
#define FGET(f, field) \
|
||||
(eassert (offsetof (struct frame, field ## _) \
|
||||
< offsetof (struct frame, face_cache)), \
|
||||
((f)->INTERNAL_FIELD (field)))
|
||||
|
||||
#define FSET(f, field, value) ((f)->INTERNAL_FIELD (field) = (value))
|
||||
#define FSET(f, field, value) ((f)->field = (value))
|
||||
|
||||
struct frame
|
||||
{
|
||||
|
@ -99,15 +93,15 @@ struct frame
|
|||
|
||||
/* Name of this frame: a Lisp string. It is used for looking up resources,
|
||||
as well as for the title in some cases. */
|
||||
Lisp_Object INTERNAL_FIELD (name);
|
||||
Lisp_Object name;
|
||||
|
||||
/* The name to use for the icon, the last time
|
||||
it was refreshed. nil means not explicitly specified. */
|
||||
Lisp_Object INTERNAL_FIELD (icon_name);
|
||||
Lisp_Object icon_name;
|
||||
|
||||
/* This is the frame title specified explicitly, if any.
|
||||
Usually it is nil. */
|
||||
Lisp_Object INTERNAL_FIELD (title);
|
||||
Lisp_Object title;
|
||||
|
||||
/* The frame which should receive keystrokes that occur in this
|
||||
frame, or nil if they should go to the frame itself. This is
|
||||
|
@ -120,29 +114,29 @@ struct frame
|
|||
to shift from one frame to the other, any redirections to the
|
||||
original frame are shifted to the newly selected frame; if
|
||||
focus_frame is nil, Fselect_frame will leave it alone. */
|
||||
Lisp_Object INTERNAL_FIELD (focus_frame);
|
||||
Lisp_Object focus_frame;
|
||||
|
||||
/* This frame's root window. Every frame has one.
|
||||
If the frame has only a minibuffer window, this is it.
|
||||
Otherwise, if the frame has a minibuffer window, this is its sibling. */
|
||||
Lisp_Object INTERNAL_FIELD (root_window);
|
||||
Lisp_Object root_window;
|
||||
|
||||
/* This frame's selected window.
|
||||
Each frame has its own window hierarchy
|
||||
and one of the windows in it is selected within the frame.
|
||||
The selected window of the selected frame is Emacs's selected window. */
|
||||
Lisp_Object INTERNAL_FIELD (selected_window);
|
||||
Lisp_Object selected_window;
|
||||
|
||||
/* This frame's minibuffer window.
|
||||
Most frames have their own minibuffer windows,
|
||||
but only the selected frame's minibuffer window
|
||||
can actually appear to exist. */
|
||||
Lisp_Object INTERNAL_FIELD (minibuffer_window);
|
||||
Lisp_Object minibuffer_window;
|
||||
|
||||
/* Parameter alist of this frame.
|
||||
These are the parameters specified when creating the frame
|
||||
or modified with modify-frame-parameters. */
|
||||
Lisp_Object INTERNAL_FIELD (param_alist);
|
||||
Lisp_Object param_alist;
|
||||
|
||||
/* List of scroll bars on this frame.
|
||||
Actually, we don't specify exactly what is stored here at all; the
|
||||
|
@ -151,51 +145,51 @@ struct frame
|
|||
instead of in the `device' structure so that the garbage
|
||||
collector doesn't need to look inside the window-system-dependent
|
||||
structure. */
|
||||
Lisp_Object INTERNAL_FIELD (scroll_bars);
|
||||
Lisp_Object INTERNAL_FIELD (condemned_scroll_bars);
|
||||
Lisp_Object scroll_bars;
|
||||
Lisp_Object condemned_scroll_bars;
|
||||
|
||||
/* Vector describing the items to display in the menu bar.
|
||||
Each item has four elements in this vector.
|
||||
They are KEY, STRING, SUBMAP, and HPOS.
|
||||
(HPOS is not used in when the X toolkit is in use.)
|
||||
There are four additional elements of nil at the end, to terminate. */
|
||||
Lisp_Object INTERNAL_FIELD (menu_bar_items);
|
||||
Lisp_Object menu_bar_items;
|
||||
|
||||
/* Alist of elements (FACE-NAME . FACE-VECTOR-DATA). */
|
||||
Lisp_Object INTERNAL_FIELD (face_alist);
|
||||
Lisp_Object face_alist;
|
||||
|
||||
/* A vector that records the entire structure of this frame's menu bar.
|
||||
For the format of the data, see extensive comments in xmenu.c.
|
||||
Only the X toolkit version uses this. */
|
||||
Lisp_Object INTERNAL_FIELD (menu_bar_vector);
|
||||
Lisp_Object menu_bar_vector;
|
||||
|
||||
/* Predicate for selecting buffers for other-buffer. */
|
||||
Lisp_Object INTERNAL_FIELD (buffer_predicate);
|
||||
Lisp_Object buffer_predicate;
|
||||
|
||||
/* List of buffers viewed in this frame, for other-buffer. */
|
||||
Lisp_Object INTERNAL_FIELD (buffer_list);
|
||||
Lisp_Object buffer_list;
|
||||
|
||||
/* List of buffers that were viewed, then buried in this frame. The
|
||||
most recently buried buffer is first. For last-buffer. */
|
||||
Lisp_Object INTERNAL_FIELD (buried_buffer_list);
|
||||
Lisp_Object buried_buffer_list;
|
||||
|
||||
/* A dummy window used to display menu bars under X when no X
|
||||
toolkit support is available. */
|
||||
Lisp_Object INTERNAL_FIELD (menu_bar_window);
|
||||
Lisp_Object menu_bar_window;
|
||||
|
||||
/* A window used to display the tool-bar of a frame. */
|
||||
Lisp_Object INTERNAL_FIELD (tool_bar_window);
|
||||
Lisp_Object tool_bar_window;
|
||||
|
||||
/* Desired and current tool-bar items. */
|
||||
Lisp_Object INTERNAL_FIELD (tool_bar_items);
|
||||
Lisp_Object tool_bar_items;
|
||||
|
||||
/* Where tool bar is, can be left, right, top or bottom. The native
|
||||
tool bar only supports top. */
|
||||
Lisp_Object INTERNAL_FIELD (tool_bar_position);
|
||||
Lisp_Object tool_bar_position;
|
||||
|
||||
/* Desired and current contents displayed in tool_bar_window. */
|
||||
Lisp_Object INTERNAL_FIELD (desired_tool_bar_string);
|
||||
Lisp_Object INTERNAL_FIELD (current_tool_bar_string);
|
||||
Lisp_Object desired_tool_bar_string;
|
||||
Lisp_Object current_tool_bar_string;
|
||||
|
||||
/* Beyond here, there should be no more Lisp_Object components. */
|
||||
|
||||
|
@ -646,13 +640,13 @@ typedef struct frame *FRAME_PTR;
|
|||
#define FRAME_WINDOW_SIZES_CHANGED(f) (f)->window_sizes_changed
|
||||
|
||||
/* The minibuffer window of frame F, if it has one; otherwise nil. */
|
||||
#define FRAME_MINIBUF_WINDOW(f) FGET (f, minibuffer_window)
|
||||
#define FRAME_MINIBUF_WINDOW(f) f->minibuffer_window
|
||||
|
||||
/* The root window of the window tree of frame F. */
|
||||
#define FRAME_ROOT_WINDOW(f) FGET (f, root_window)
|
||||
#define FRAME_ROOT_WINDOW(f) f->root_window
|
||||
|
||||
/* The currently selected window of the window tree of frame F. */
|
||||
#define FRAME_SELECTED_WINDOW(f) FGET (f, selected_window)
|
||||
#define FRAME_SELECTED_WINDOW(f) f->selected_window
|
||||
|
||||
#define FRAME_INSERT_COST(f) (f)->insert_line_cost
|
||||
#define FRAME_DELETE_COST(f) (f)->delete_line_cost
|
||||
|
@ -660,7 +654,7 @@ typedef struct frame *FRAME_PTR;
|
|||
#define FRAME_DELETEN_COST(f) (f)->delete_n_lines_cost
|
||||
#define FRAME_MESSAGE_BUF(f) (f)->message_buf
|
||||
#define FRAME_SCROLL_BOTTOM_VPOS(f) (f)->scroll_bottom_vpos
|
||||
#define FRAME_FOCUS_FRAME(f) FGET (f, focus_frame)
|
||||
#define FRAME_FOCUS_FRAME(f) f->focus_frame
|
||||
|
||||
/* Nonzero if frame F supports scroll bars.
|
||||
If this is zero, then it is impossible to enable scroll bars
|
||||
|
@ -761,10 +755,10 @@ typedef struct frame *FRAME_PTR;
|
|||
|
||||
/* Nonzero if frame F has scroll bars. */
|
||||
|
||||
#define FRAME_SCROLL_BARS(f) (FGET (f, scroll_bars))
|
||||
#define FRAME_SCROLL_BARS(f) (f->scroll_bars)
|
||||
|
||||
#define FRAME_CONDEMNED_SCROLL_BARS(f) (FGET (f, condemned_scroll_bars))
|
||||
#define FRAME_MENU_BAR_ITEMS(f) (FGET (f, menu_bar_items))
|
||||
#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_DESIRED_CURSOR(f) ((f)->desired_cursor)
|
||||
|
@ -832,10 +826,10 @@ typedef struct frame *FRAME_PTR;
|
|||
supported. An alternate definition of the macro would expand to
|
||||
something which executes the statement once. */
|
||||
|
||||
#define FOR_EACH_FRAME(list_var, frame_var) \
|
||||
for ((list_var) = Vframe_list; \
|
||||
(CONSP (list_var) \
|
||||
&& (frame_var = XCAR (list_var), 1)); \
|
||||
#define FOR_EACH_FRAME(list_var, frame_var) \
|
||||
for ((list_var) = Vframe_list; \
|
||||
(CONSP (list_var) \
|
||||
&& (frame_var = XCAR (list_var), 1)); \
|
||||
list_var = XCDR (list_var))
|
||||
|
||||
|
||||
|
|
|
@ -1338,8 +1338,8 @@ compute_fringe_widths (struct frame *f, int redraw)
|
|||
int o_right = FRAME_RIGHT_FRINGE_WIDTH (f);
|
||||
int o_cols = FRAME_FRINGE_COLS (f);
|
||||
|
||||
Lisp_Object left_fringe = Fassq (Qleft_fringe, FGET (f, param_alist));
|
||||
Lisp_Object right_fringe = Fassq (Qright_fringe, FGET (f, param_alist));
|
||||
Lisp_Object left_fringe = Fassq (Qleft_fringe, f->param_alist);
|
||||
Lisp_Object right_fringe = Fassq (Qright_fringe, f->param_alist);
|
||||
int left_fringe_width, right_fringe_width;
|
||||
|
||||
if (!NILP (left_fringe))
|
||||
|
|
|
@ -1148,10 +1148,10 @@ xg_create_frame_widgets (FRAME_PTR f)
|
|||
gtk_widget_set_name (wfixed, SSDATA (Vx_resource_name));
|
||||
|
||||
/* If this frame has a title or name, set it in the title bar. */
|
||||
if (! NILP (FGET (f, title)))
|
||||
title = SSDATA (ENCODE_UTF_8 (FGET (f, title)));
|
||||
else if (! NILP (FGET (f, name)))
|
||||
title = SSDATA (ENCODE_UTF_8 (FGET (f, name)));
|
||||
if (! NILP (f->title))
|
||||
title = SSDATA (ENCODE_UTF_8 (f->title));
|
||||
else if (! NILP (f->name))
|
||||
title = SSDATA (ENCODE_UTF_8 (f->name));
|
||||
|
||||
if (title) gtk_window_set_title (GTK_WINDOW (wtop), title);
|
||||
|
||||
|
@ -2061,7 +2061,7 @@ make_cl_data (xg_menu_cb_data *cl_data, FRAME_PTR f, GCallback highlight_cb)
|
|||
{
|
||||
cl_data = xmalloc (sizeof *cl_data);
|
||||
cl_data->f = f;
|
||||
cl_data->menu_bar_vector = FGET (f, menu_bar_vector);
|
||||
cl_data->menu_bar_vector = f->menu_bar_vector;
|
||||
cl_data->menu_bar_items_used = f->menu_bar_items_used;
|
||||
cl_data->highlight_cb = highlight_cb;
|
||||
cl_data->ref_count = 0;
|
||||
|
@ -2093,7 +2093,7 @@ update_cl_data (xg_menu_cb_data *cl_data,
|
|||
if (cl_data)
|
||||
{
|
||||
cl_data->f = f;
|
||||
cl_data->menu_bar_vector = FGET (f, menu_bar_vector);
|
||||
cl_data->menu_bar_vector = f->menu_bar_vector;
|
||||
cl_data->menu_bar_items_used = f->menu_bar_items_used;
|
||||
cl_data->highlight_cb = highlight_cb;
|
||||
}
|
||||
|
@ -3810,12 +3810,12 @@ xg_tool_bar_callback (GtkWidget *w, gpointer client_data)
|
|||
struct input_event event;
|
||||
EVENT_INIT (event);
|
||||
|
||||
if (! f || ! f->n_tool_bar_items || NILP (FGET (f, tool_bar_items)))
|
||||
if (! f || ! f->n_tool_bar_items || NILP (f->tool_bar_items))
|
||||
return;
|
||||
|
||||
idx *= TOOL_BAR_ITEM_NSLOTS;
|
||||
|
||||
key = AREF (FGET (f, tool_bar_items), idx + TOOL_BAR_ITEM_KEY);
|
||||
key = AREF (f->tool_bar_items, idx + TOOL_BAR_ITEM_KEY);
|
||||
XSETFRAME (frame, f);
|
||||
|
||||
/* We generate two events here. The first one is to set the prefix
|
||||
|
@ -4086,16 +4086,16 @@ xg_tool_bar_help_callback (GtkWidget *w,
|
|||
FRAME_PTR f = (FRAME_PTR) g_object_get_data (G_OBJECT (w), XG_FRAME_DATA);
|
||||
Lisp_Object help, frame;
|
||||
|
||||
if (! f || ! f->n_tool_bar_items || NILP (FGET (f, tool_bar_items)))
|
||||
if (! f || ! f->n_tool_bar_items || NILP (f->tool_bar_items))
|
||||
return FALSE;
|
||||
|
||||
if (event->type == GDK_ENTER_NOTIFY)
|
||||
{
|
||||
idx *= TOOL_BAR_ITEM_NSLOTS;
|
||||
help = AREF (FGET (f, tool_bar_items), idx + TOOL_BAR_ITEM_HELP);
|
||||
help = AREF (f->tool_bar_items, idx + TOOL_BAR_ITEM_HELP);
|
||||
|
||||
if (NILP (help))
|
||||
help = AREF (FGET (f, tool_bar_items), idx + TOOL_BAR_ITEM_CAPTION);
|
||||
help = AREF (f->tool_bar_items, idx + TOOL_BAR_ITEM_CAPTION);
|
||||
}
|
||||
else
|
||||
help = Qnil;
|
||||
|
@ -4223,7 +4223,7 @@ xg_create_tool_bar (FRAME_PTR f)
|
|||
}
|
||||
|
||||
|
||||
#define PROP(IDX) AREF (FGET (f, tool_bar_items), i * TOOL_BAR_ITEM_NSLOTS + (IDX))
|
||||
#define PROP(IDX) AREF (f->tool_bar_items, i * TOOL_BAR_ITEM_NSLOTS + (IDX))
|
||||
|
||||
/* Find the right-to-left image named by RTL in the tool bar images for F.
|
||||
Returns IMAGE if RTL is not found. */
|
||||
|
@ -4706,7 +4706,7 @@ update_frame_tool_bar (FRAME_PTR f)
|
|||
if (f->n_tool_bar_items != 0)
|
||||
{
|
||||
if (pack_tool_bar)
|
||||
xg_pack_tool_bar (f, FGET (f, tool_bar_position));
|
||||
xg_pack_tool_bar (f, f->tool_bar_position);
|
||||
gtk_widget_show_all (GTK_WIDGET (x->handlebox_widget));
|
||||
if (xg_update_tool_bar_sizes (f))
|
||||
xg_height_or_width_changed (f);
|
||||
|
|
|
@ -102,14 +102,14 @@ choose_minibuf_frame (void)
|
|||
{
|
||||
if (FRAMEP (selected_frame)
|
||||
&& FRAME_LIVE_P (XFRAME (selected_frame))
|
||||
&& !EQ (minibuf_window, FGET (XFRAME (selected_frame), minibuffer_window)))
|
||||
&& !EQ (minibuf_window, XFRAME (selected_frame)->minibuffer_window))
|
||||
{
|
||||
struct frame *sf = XFRAME (selected_frame);
|
||||
Lisp_Object buffer;
|
||||
|
||||
/* I don't think that any frames may validly have a null minibuffer
|
||||
window anymore. */
|
||||
if (NILP (FGET (sf, minibuffer_window)))
|
||||
if (NILP (sf->minibuffer_window))
|
||||
abort ();
|
||||
|
||||
/* Under X, we come here with minibuf_window being the
|
||||
|
@ -117,8 +117,8 @@ choose_minibuf_frame (void)
|
|||
init_window_once. That window doesn't have a buffer. */
|
||||
buffer = WGET (XWINDOW (minibuf_window), buffer);
|
||||
if (BUFFERP (buffer))
|
||||
Fset_window_buffer (FGET (sf, minibuffer_window), buffer, Qnil);
|
||||
minibuf_window = FGET (sf, minibuffer_window);
|
||||
Fset_window_buffer (sf->minibuffer_window, buffer, Qnil);
|
||||
minibuf_window = sf->minibuffer_window;
|
||||
}
|
||||
|
||||
/* Make sure no other frame has a minibuffer as its selected window,
|
||||
|
|
|
@ -1318,8 +1318,8 @@ IT_frame_up_to_date (struct frame *f)
|
|||
frame parameters. For the selected window, we use either its
|
||||
buffer-local value or the value from the frame parameters if the
|
||||
buffer doesn't define its local value for the cursor type. */
|
||||
sw = XWINDOW (FGET (f, selected_window));
|
||||
frame_desired_cursor = Fcdr (Fassq (Qcursor_type, FGET (f, param_alist)));
|
||||
sw = XWINDOW (f->selected_window);
|
||||
frame_desired_cursor = Fcdr (Fassq (Qcursor_type, f->param_alist));
|
||||
if (cursor_in_echo_area
|
||||
&& FRAME_HAS_MINIBUF_P (f)
|
||||
&& EQ (FRAME_MINIBUF_WINDOW (f), echo_area_window)
|
||||
|
@ -1598,7 +1598,7 @@ IT_set_frame_parameters (struct frame *f, Lisp_Object alist)
|
|||
Lisp_Object *values
|
||||
= (Lisp_Object *) alloca (length * word_size);
|
||||
/* Do we have to reverse the foreground and background colors? */
|
||||
int reverse = EQ (Fcdr (Fassq (Qreverse, FGET (f, param_alist))), Qt);
|
||||
int reverse = EQ (Fcdr (Fassq (Qreverse, f->param_alist)), Qt);
|
||||
int redraw = 0, fg_set = 0, bg_set = 0;
|
||||
unsigned long orig_fg, orig_bg;
|
||||
struct tty_display_info *tty = FRAME_TTY (f);
|
||||
|
|
40
src/nsfns.m
40
src/nsfns.m
|
@ -452,12 +452,12 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
|
||||
if (NILP (arg))
|
||||
{
|
||||
if (!NILP (FGET (f, title)))
|
||||
arg = FGET (f, title);
|
||||
if (!NILP (f->title))
|
||||
arg = f->title;
|
||||
else
|
||||
/* explicit name and no icon-name -> explicit_name */
|
||||
if (f->explicit_name)
|
||||
arg = FGET (f, name);
|
||||
arg = f->name;
|
||||
else
|
||||
{
|
||||
/* no explicit name and no icon-name ->
|
||||
|
@ -496,10 +496,10 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
if (! [[[view window] title] isEqualToString: str])
|
||||
[[view window] setTitle: str];
|
||||
|
||||
if (!STRINGP (FGET (f, icon_name)))
|
||||
if (!STRINGP (f->icon_name))
|
||||
encoded_icon_name = encoded_name;
|
||||
else
|
||||
encoded_icon_name = ENCODE_UTF_8 (FGET (f, icon_name));
|
||||
encoded_icon_name = ENCODE_UTF_8 (f->icon_name);
|
||||
|
||||
str = [NSString stringWithUTF8String: SSDATA (encoded_icon_name)];
|
||||
|
||||
|
@ -537,14 +537,14 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
CHECK_STRING (name);
|
||||
|
||||
/* Don't change the name if it's already NAME. */
|
||||
if (! NILP (Fstring_equal (name, FGET (f, name))))
|
||||
if (! NILP (Fstring_equal (name, f->name)))
|
||||
return;
|
||||
|
||||
FSET (f, name, name);
|
||||
|
||||
/* title overrides explicit name */
|
||||
if (! NILP (FGET (f, title)))
|
||||
name = FGET (f, title);
|
||||
if (! NILP (f->title))
|
||||
name = f->title;
|
||||
|
||||
ns_set_name_internal (f, name);
|
||||
}
|
||||
|
@ -586,7 +586,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
{
|
||||
NSTRACE (x_set_title);
|
||||
/* Don't change the title if it's already NAME. */
|
||||
if (EQ (name, FGET (f, title)))
|
||||
if (EQ (name, f->title))
|
||||
return;
|
||||
|
||||
update_mode_lines = 1;
|
||||
|
@ -594,7 +594,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
FSET (f, title, name);
|
||||
|
||||
if (NILP (name))
|
||||
name = FGET (f, name);
|
||||
name = f->name;
|
||||
else
|
||||
CHECK_STRING (name);
|
||||
|
||||
|
@ -607,7 +607,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
{
|
||||
NSView *view;
|
||||
Lisp_Object name, filename;
|
||||
Lisp_Object buf = WGET (XWINDOW (FGET (f, selected_window)), buffer);
|
||||
Lisp_Object buf = WGET (XWINDOW (f->selected_window), buffer);
|
||||
const char *title;
|
||||
NSAutoreleasePool *pool;
|
||||
struct gcpro gcpro1;
|
||||
|
@ -615,7 +615,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
NSString *str;
|
||||
NSTRACE (ns_set_name_as_filename);
|
||||
|
||||
if (f->explicit_name || ! NILP (FGET (f, title)) || ns_in_resize)
|
||||
if (f->explicit_name || ! NILP (f->title) || ns_in_resize)
|
||||
return;
|
||||
|
||||
BLOCK_INPUT;
|
||||
|
@ -690,7 +690,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
{
|
||||
NSView *view = FRAME_NS_VIEW (f);
|
||||
NSAutoreleasePool *pool;
|
||||
if (!MINI_WINDOW_P (XWINDOW (FGET (f, selected_window))))
|
||||
if (!MINI_WINDOW_P (XWINDOW (f->selected_window)))
|
||||
{
|
||||
BLOCK_INPUT;
|
||||
pool = [[NSAutoreleasePool alloc] init];
|
||||
|
@ -777,7 +777,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
BLOCK_INPUT;
|
||||
pool = [[NSAutoreleasePool alloc] init];
|
||||
if (f->output_data.ns->miniimage
|
||||
&& [[NSString stringWithUTF8String: SSDATA (FGET (f, name))]
|
||||
&& [[NSString stringWithUTF8String: SSDATA (f->name)]
|
||||
isEqualToString: [(NSImage *)f->output_data.ns->miniimage name]])
|
||||
{
|
||||
[pool release];
|
||||
|
@ -785,7 +785,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
return;
|
||||
}
|
||||
|
||||
tem = assq_no_quit (Qicon_type, FGET (f, param_alist));
|
||||
tem = assq_no_quit (Qicon_type, f->param_alist);
|
||||
if (CONSP (tem) && ! NILP (XCDR (tem)))
|
||||
{
|
||||
[pool release];
|
||||
|
@ -799,17 +799,17 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
{
|
||||
elt = XCAR (chain);
|
||||
/* special case: 't' means go by file type */
|
||||
if (SYMBOLP (elt) && EQ (elt, Qt) && SSDATA (FGET (f, name))[0] == '/')
|
||||
if (SYMBOLP (elt) && EQ (elt, Qt) && SSDATA (f->name)[0] == '/')
|
||||
{
|
||||
NSString *str
|
||||
= [NSString stringWithUTF8String: SSDATA (FGET (f, name))];
|
||||
= [NSString stringWithUTF8String: SSDATA (f->name)];
|
||||
if ([[NSFileManager defaultManager] fileExistsAtPath: str])
|
||||
image = [[[NSWorkspace sharedWorkspace] iconForFile: str] retain];
|
||||
}
|
||||
else if (CONSP (elt) &&
|
||||
STRINGP (XCAR (elt)) &&
|
||||
STRINGP (XCDR (elt)) &&
|
||||
fast_string_match (XCAR (elt), FGET (f, name)) >= 0)
|
||||
fast_string_match (XCAR (elt), f->name) >= 0)
|
||||
{
|
||||
image = [EmacsImage allocInitFromFile: XCDR (elt)];
|
||||
if (image == nil)
|
||||
|
@ -1208,7 +1208,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
FSET (f, icon_name, x_get_arg (dpyinfo, parms, Qicon_name,
|
||||
"iconName", "Title",
|
||||
RES_TYPE_STRING));
|
||||
if (! STRINGP (FGET (f, icon_name)))
|
||||
if (! STRINGP (f->icon_name))
|
||||
FSET (f, icon_name, Qnil);
|
||||
|
||||
FRAME_NS_DISPLAY_INFO (f) = dpyinfo;
|
||||
|
@ -1398,7 +1398,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
by x_get_arg and friends, now go in the misc. alist of the frame. */
|
||||
for (tem = parms; CONSP (tem); tem = XCDR (tem))
|
||||
if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem))))
|
||||
FSET (f, param_alist, Fcons (XCAR (tem), FGET (f, param_alist)));
|
||||
FSET (f, param_alist, Fcons (XCAR (tem), f->param_alist));
|
||||
|
||||
UNGCPRO;
|
||||
|
||||
|
|
|
@ -222,13 +222,13 @@
|
|||
|
||||
/* Save the frame's previous menu bar contents data */
|
||||
if (previous_menu_items_used)
|
||||
memcpy (previous_items, aref_addr (FGET (f, menu_bar_vector), 0),
|
||||
memcpy (previous_items, aref_addr (f->menu_bar_vector, 0),
|
||||
previous_menu_items_used * sizeof (Lisp_Object));
|
||||
|
||||
/* parse stage 1: extract from lisp */
|
||||
save_menu_items ();
|
||||
|
||||
menu_items = FGET (f, menu_bar_vector);
|
||||
menu_items = f->menu_bar_vector;
|
||||
menu_items_allocated = VECTORP (menu_items) ? ASIZE (menu_items) : 0;
|
||||
submenu_start = alloca (ASIZE (items) * sizeof *submenu_start);
|
||||
submenu_end = alloca (ASIZE (items) * sizeof *submenu_end);
|
||||
|
@ -1040,7 +1040,7 @@ - (Lisp_Object)runMenuAt: (NSPoint)p forFrame: (struct frame *)f
|
|||
/* update EmacsToolbar as in GtkUtils, build items list */
|
||||
for (i = 0; i < f->n_tool_bar_items; ++i)
|
||||
{
|
||||
#define TOOLPROP(IDX) AREF (FGET (f, tool_bar_items), \
|
||||
#define TOOLPROP(IDX) AREF (f->tool_bar_items, \
|
||||
i * TOOL_BAR_ITEM_NSLOTS + (IDX))
|
||||
|
||||
BOOL enabled_p = !NILP (TOOLPROP (TOOL_BAR_ITEM_ENABLED_P));
|
||||
|
|
16
src/nsterm.m
16
src/nsterm.m
|
@ -1304,7 +1304,7 @@ Free a pool and temporary objects it refers to (callable from C)
|
|||
FRAME_PIXEL_HEIGHT (f) = pixelheight;
|
||||
/* SET_FRAME_GARBAGED (f); // this short-circuits expose call in drawRect */
|
||||
|
||||
mark_window_cursors_off (XWINDOW (FGET (f, root_window)));
|
||||
mark_window_cursors_off (XWINDOW (f->root_window));
|
||||
cancel_mouse_face (f);
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
|
@ -2123,8 +2123,8 @@ Free a pool and temporary objects it refers to (callable from C)
|
|||
int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y));
|
||||
|
||||
/* Internal border is drawn below the tool bar. */
|
||||
if (WINDOWP (FGET (f, tool_bar_window))
|
||||
&& w == XWINDOW (FGET (f, tool_bar_window)))
|
||||
if (WINDOWP (f->tool_bar_window)
|
||||
&& w == XWINDOW (f->tool_bar_window))
|
||||
y -= width;
|
||||
/* end copy from other terms */
|
||||
|
||||
|
@ -5540,7 +5540,7 @@ - (BOOL)isOpaque
|
|||
if (ns_drag_types)
|
||||
[self registerForDraggedTypes: ns_drag_types];
|
||||
|
||||
tem = FGET (f, name);
|
||||
tem = f->name;
|
||||
name = [NSString stringWithUTF8String:
|
||||
NILP (tem) ? "Emacs" : SSDATA (tem)];
|
||||
[win setTitle: name];
|
||||
|
@ -5558,7 +5558,7 @@ - (BOOL)isOpaque
|
|||
#endif
|
||||
FRAME_TOOLBAR_HEIGHT (f) = 0;
|
||||
|
||||
tem = FGET (f, icon_name);
|
||||
tem = f->icon_name;
|
||||
if (!NILP (tem))
|
||||
[win setMiniwindowTitle:
|
||||
[NSString stringWithUTF8String: SSDATA (tem)]];
|
||||
|
@ -5739,7 +5739,7 @@ - (void)mouseExited: (NSEvent *)theEvent
|
|||
{
|
||||
NSInteger tag = [sender tag];
|
||||
find_and_call_menu_selection (emacsframe, emacsframe->menu_bar_items_used,
|
||||
FGET (emacsframe, menu_bar_vector),
|
||||
emacsframe->menu_bar_vector,
|
||||
(void *)tag);
|
||||
}
|
||||
|
||||
|
@ -5773,7 +5773,7 @@ - (EmacsToolbar *)toolbar
|
|||
|
||||
emacs_event->kind = TOOL_BAR_EVENT;
|
||||
/* XSETINT (emacs_event->code, 0); */
|
||||
emacs_event->arg = AREF (FGET (emacsframe, tool_bar_items),
|
||||
emacs_event->arg = AREF (emacsframe->tool_bar_items,
|
||||
idx + TOOL_BAR_ITEM_KEY);
|
||||
emacs_event->modifiers = EV_MODIFIERS (theEvent);
|
||||
EV_TRAILER (theEvent);
|
||||
|
@ -6062,7 +6062,7 @@ - (id)accessibilityAttributeValue:(NSString *)attribute
|
|||
Lisp_Object str = Qnil;
|
||||
struct frame *f = SELECTED_FRAME ();
|
||||
struct buffer *curbuf
|
||||
= XBUFFER (WGET (XWINDOW (FGET (f, selected_window)), buffer));
|
||||
= XBUFFER (WGET (XWINDOW (f->selected_window), buffer));
|
||||
|
||||
if ([attribute isEqualToString:NSAccessibilityRoleAttribute])
|
||||
return NSAccessibilityTextFieldRole;
|
||||
|
|
|
@ -1896,7 +1896,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
|
|||
else if (FRAMEP (obj))
|
||||
{
|
||||
int len;
|
||||
Lisp_Object frame_name = FGET (XFRAME (obj), name);
|
||||
Lisp_Object frame_name = XFRAME (obj)->name;
|
||||
|
||||
strout ((FRAME_LIVE_P (XFRAME (obj))
|
||||
? "#<frame " : "#<dead frame "),
|
||||
|
|
|
@ -2192,7 +2192,7 @@ set_tty_color_mode (struct tty_display_info *tty, struct frame *f)
|
|||
Lisp_Object tty_color_mode_alist
|
||||
= Fintern_soft (build_string ("tty-color-mode-alist"), Qnil);
|
||||
|
||||
tem = assq_no_quit (Qtty_color_mode, FGET (f, param_alist));
|
||||
tem = assq_no_quit (Qtty_color_mode, f->param_alist);
|
||||
val = CONSP (tem) ? XCDR (tem) : Qnil;
|
||||
|
||||
if (INTEGERP (val))
|
||||
|
|
38
src/w32fns.c
38
src/w32fns.c
|
@ -1498,11 +1498,11 @@ x_set_icon_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
|
|||
BLOCK_INPUT;
|
||||
|
||||
result = x_text_icon (f,
|
||||
SSDATA ((!NILP (FGET (f, icon_name))
|
||||
? FGET (f, icon_name)
|
||||
: !NILP (FGET (f, title))
|
||||
? FGET (f, title)
|
||||
: FGET (f, name))));
|
||||
SSDATA ((!NILP (f->icon_name)
|
||||
? f->icon_name
|
||||
: !NILP (f->title)
|
||||
? f->title
|
||||
: f->name)));
|
||||
|
||||
if (result)
|
||||
{
|
||||
|
@ -1631,8 +1631,8 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
|
|||
}
|
||||
UNBLOCK_INPUT;
|
||||
|
||||
if (WINDOWP (FGET (f, tool_bar_window)))
|
||||
clear_glyph_matrix (XWINDOW (FGET (f, tool_bar_window))->current_matrix);
|
||||
if (WINDOWP (f->tool_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
|
||||
}
|
||||
|
||||
run_window_configuration_change_hook (f);
|
||||
|
@ -1674,7 +1674,7 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit)
|
|||
/* Check for no change needed in this very common case
|
||||
before we do any consing. */
|
||||
if (!strcmp (FRAME_W32_DISPLAY_INFO (f)->w32_id_name,
|
||||
SDATA (FGET (f, name))))
|
||||
SDATA (f->name)))
|
||||
return;
|
||||
name = build_string (FRAME_W32_DISPLAY_INFO (f)->w32_id_name);
|
||||
}
|
||||
|
@ -1682,15 +1682,15 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit)
|
|||
CHECK_STRING (name);
|
||||
|
||||
/* Don't change the name if it's already NAME. */
|
||||
if (! NILP (Fstring_equal (name, FGET (f, name))))
|
||||
if (! NILP (Fstring_equal (name, f->name)))
|
||||
return;
|
||||
|
||||
FSET (f, name, name);
|
||||
|
||||
/* For setting the frame title, the title parameter should override
|
||||
the name parameter. */
|
||||
if (! NILP (FGET (f, title)))
|
||||
name = FGET (f, title);
|
||||
if (! NILP (f->title))
|
||||
name = f->title;
|
||||
|
||||
if (FRAME_W32_WINDOW (f))
|
||||
{
|
||||
|
@ -1728,7 +1728,7 @@ void
|
|||
x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
|
||||
{
|
||||
/* Don't change the title if it's already NAME. */
|
||||
if (EQ (name, FGET (f, title)))
|
||||
if (EQ (name, f->title))
|
||||
return;
|
||||
|
||||
update_mode_lines = 1;
|
||||
|
@ -1736,7 +1736,7 @@ x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
|
|||
FSET (f, title, name);
|
||||
|
||||
if (NILP (name))
|
||||
name = FGET (f, name);
|
||||
name = f->name;
|
||||
|
||||
if (FRAME_W32_WINDOW (f))
|
||||
{
|
||||
|
@ -3896,7 +3896,7 @@ w32_window (struct frame *f, long window_prompting, int minibuffer_only)
|
|||
int explicit = f->explicit_name;
|
||||
|
||||
f->explicit_name = 0;
|
||||
name = FGET (f, name);
|
||||
name = f->name;
|
||||
FSET (f, name, Qnil);
|
||||
x_set_name (f, name, explicit);
|
||||
}
|
||||
|
@ -3944,9 +3944,9 @@ x_icon (struct frame *f, Lisp_Object parms)
|
|||
? IconicState
|
||||
: NormalState));
|
||||
|
||||
x_text_icon (f, SSDATA ((!NILP (FGET (f, icon_name))
|
||||
? FGET (f, icon_name)
|
||||
: FGET (f, name))));
|
||||
x_text_icon (f, SSDATA ((!NILP (f->icon_name)
|
||||
? f->icon_name
|
||||
: f->name)));
|
||||
#endif
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
|
@ -4149,7 +4149,7 @@ This function is an internal primitive--use `make-frame' instead. */)
|
|||
FSET (f, icon_name,
|
||||
x_get_arg (dpyinfo, parameters, Qicon_name, "iconName", "Title",
|
||||
RES_TYPE_STRING));
|
||||
if (! STRINGP (FGET (f, icon_name)))
|
||||
if (! STRINGP (f->icon_name))
|
||||
FSET (f, icon_name, Qnil);
|
||||
|
||||
/* FRAME_W32_DISPLAY_INFO (f) = dpyinfo; */
|
||||
|
@ -4359,7 +4359,7 @@ This function is an internal primitive--use `make-frame' instead. */)
|
|||
by x_get_arg and friends, now go in the misc. alist of the frame. */
|
||||
for (tem = parameters; CONSP (tem); tem = XCDR (tem))
|
||||
if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem))))
|
||||
FSET (f, param_alist, Fcons (XCAR (tem), FGET (f, param_alist)));
|
||||
FSET (f, param_alist, Fcons (XCAR (tem), f->param_alist));
|
||||
|
||||
UNGCPRO;
|
||||
|
||||
|
|
|
@ -277,7 +277,7 @@ menubar_selection_callback (FRAME_PTR f, void * client_data)
|
|||
return;
|
||||
entry = Qnil;
|
||||
subprefix_stack = (Lisp_Object *) alloca (f->menu_bar_items_used * word_size);
|
||||
vector = FGET (f, menu_bar_vector);
|
||||
vector = f->menu_bar_vector;
|
||||
prefix = Qnil;
|
||||
i = 0;
|
||||
while (i < f->menu_bar_items_used)
|
||||
|
@ -419,14 +419,14 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
|
|||
|
||||
/* Save the frame's previous menu bar contents data. */
|
||||
if (previous_menu_items_used)
|
||||
memcpy (previous_items, XVECTOR (FGET (f, menu_bar_vector))->contents,
|
||||
memcpy (previous_items, XVECTOR (f->menu_bar_vector)->contents,
|
||||
previous_menu_items_used * word_size);
|
||||
|
||||
/* Fill in menu_items with the current menu bar contents.
|
||||
This can evaluate Lisp code. */
|
||||
save_menu_items ();
|
||||
|
||||
menu_items = FGET (f, menu_bar_vector);
|
||||
menu_items = f->menu_bar_vector;
|
||||
menu_items_allocated = VECTORP (menu_items) ? ASIZE (menu_items) : 0;
|
||||
submenu_start = (int *) alloca (ASIZE (items) * sizeof (int));
|
||||
submenu_end = (int *) alloca (ASIZE (items) * sizeof (int));
|
||||
|
|
|
@ -4194,7 +4194,7 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
/* We may get paint messages even though the client
|
||||
area is clipped - these are not expose events. */
|
||||
DebPrint (("clipped frame %p (%s) got WM_PAINT - ignored\n", f,
|
||||
SDATA (FGET (f, name))));
|
||||
SDATA (f->name)));
|
||||
}
|
||||
else if (f->async_visible != 1)
|
||||
{
|
||||
|
@ -4203,7 +4203,7 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
f->async_iconified = 0;
|
||||
SET_FRAME_GARBAGED (f);
|
||||
DebPrint (("frame %p (%s) reexposed by WM_PAINT\n", f,
|
||||
SDATA (FGET (f, name))));
|
||||
SDATA (f->name)));
|
||||
|
||||
/* WM_PAINT serves as MapNotify as well, so report
|
||||
visibility changes properly. */
|
||||
|
@ -4259,7 +4259,7 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
if (f && !f->iconified)
|
||||
{
|
||||
if (!hlinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
|
||||
&& !EQ (FGET (f, tool_bar_window), hlinfo->mouse_face_window))
|
||||
&& !EQ (f->tool_bar_window, hlinfo->mouse_face_window))
|
||||
{
|
||||
clear_mouse_face (hlinfo);
|
||||
hlinfo->mouse_face_hidden = 1;
|
||||
|
@ -4284,7 +4284,7 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
if (f && !f->iconified)
|
||||
{
|
||||
if (!hlinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
|
||||
&& !EQ (FGET (f, tool_bar_window), hlinfo->mouse_face_window))
|
||||
&& !EQ (f->tool_bar_window, hlinfo->mouse_face_window))
|
||||
{
|
||||
clear_mouse_face (hlinfo);
|
||||
hlinfo->mouse_face_hidden = 1;
|
||||
|
@ -4362,7 +4362,7 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
if (f && !f->iconified)
|
||||
{
|
||||
if (!hlinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
|
||||
&& !EQ (FGET (f, tool_bar_window), hlinfo->mouse_face_window))
|
||||
&& !EQ (f->tool_bar_window, hlinfo->mouse_face_window))
|
||||
{
|
||||
clear_mouse_face (hlinfo);
|
||||
hlinfo->mouse_face_hidden = 1;
|
||||
|
@ -4486,8 +4486,8 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
construct_mouse_click (&inev, &msg, f);
|
||||
|
||||
/* Is this in the tool-bar? */
|
||||
if (WINDOWP (FGET (f, tool_bar_window))
|
||||
&& WINDOW_TOTAL_LINES (XWINDOW (FGET (f, tool_bar_window))))
|
||||
if (WINDOWP (f->tool_bar_window)
|
||||
&& WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window)))
|
||||
{
|
||||
Lisp_Object window;
|
||||
int x = XFASTINT (inev.x);
|
||||
|
@ -4495,7 +4495,7 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
|
||||
window = window_from_coordinates (f, x, y, 0, 1);
|
||||
|
||||
if (EQ (window, FGET (f, tool_bar_window)))
|
||||
if (EQ (window, f->tool_bar_window))
|
||||
{
|
||||
w32_handle_tool_bar_click (f, &inev);
|
||||
tool_bar_p = 1;
|
||||
|
@ -4940,7 +4940,7 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
if (!FRAME_OBSCURED_P (f))
|
||||
{
|
||||
DebPrint (("frame %p (%s) obscured\n", f,
|
||||
SDATA (FGET (f, name))));
|
||||
SDATA (f->name)));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -4952,7 +4952,7 @@ w32_read_socket (struct terminal *terminal, int expected,
|
|||
{
|
||||
SET_FRAME_GARBAGED (f);
|
||||
DebPrint (("obscured frame %p (%s) found to be visible\n", f,
|
||||
SDATA (FGET (f, name))));
|
||||
SDATA (f->name)));
|
||||
|
||||
/* Force a redisplay sooner or later. */
|
||||
record_asynch_buffer_change ();
|
||||
|
@ -5600,7 +5600,7 @@ x_set_window_size (struct frame *f, int change_gravity, int cols, int rows)
|
|||
SET_FRAME_GARBAGED (f);
|
||||
|
||||
/* If cursor was outside the new size, mark it as off. */
|
||||
mark_window_cursors_off (XWINDOW (FGET (f, root_window)));
|
||||
mark_window_cursors_off (XWINDOW (f->root_window));
|
||||
|
||||
/* Clear out any recollection of where the mouse highlighting was,
|
||||
since it might be in a place that's outside the new frame size.
|
||||
|
|
39
src/window.c
39
src/window.c
|
@ -191,13 +191,13 @@ With a window argument, return the root window of that window's frame. */)
|
|||
Lisp_Object window;
|
||||
|
||||
if (NILP (frame_or_window))
|
||||
window = FGET (SELECTED_FRAME (), root_window);
|
||||
window = SELECTED_FRAME ()->root_window;
|
||||
else if (WINDOWP (frame_or_window))
|
||||
window = FGET (XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window))), root_window);
|
||||
window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->root_window;
|
||||
else
|
||||
{
|
||||
CHECK_LIVE_FRAME (frame_or_window);
|
||||
window = FGET (XFRAME (frame_or_window), root_window);
|
||||
window = XFRAME (frame_or_window)->root_window;
|
||||
}
|
||||
|
||||
return window;
|
||||
|
@ -235,13 +235,13 @@ the first window of that frame. */)
|
|||
Lisp_Object window;
|
||||
|
||||
if (NILP (frame_or_window))
|
||||
window = FGET (SELECTED_FRAME (), root_window);
|
||||
window = SELECTED_FRAME ()->root_window;
|
||||
else if (WINDOWP (frame_or_window))
|
||||
window = FGET (XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window))), root_window);
|
||||
window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->root_window;
|
||||
else
|
||||
{
|
||||
CHECK_LIVE_FRAME (frame_or_window);
|
||||
window = FGET (XFRAME (frame_or_window), root_window);
|
||||
window = XFRAME (frame_or_window)->root_window;
|
||||
}
|
||||
|
||||
while (NILP (WGET (XWINDOW (window), buffer)))
|
||||
|
@ -269,14 +269,13 @@ the selected window of that frame. */)
|
|||
Lisp_Object window;
|
||||
|
||||
if (NILP (frame_or_window))
|
||||
window = FGET (SELECTED_FRAME (), selected_window);
|
||||
window = SELECTED_FRAME ()->selected_window;
|
||||
else if (WINDOWP (frame_or_window))
|
||||
window = FGET (XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window))),
|
||||
selected_window);
|
||||
window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->selected_window;
|
||||
else
|
||||
{
|
||||
CHECK_LIVE_FRAME (frame_or_window);
|
||||
window = FGET (XFRAME (frame_or_window), selected_window);
|
||||
window = XFRAME (frame_or_window)->selected_window;
|
||||
}
|
||||
|
||||
return window;
|
||||
|
@ -1214,13 +1213,13 @@ window_from_coordinates (struct frame *f, int x, int y,
|
|||
bar exists. */
|
||||
if (NILP (window)
|
||||
&& tool_bar_p
|
||||
&& WINDOWP (FGET (f, tool_bar_window))
|
||||
&& WINDOW_TOTAL_LINES (XWINDOW (FGET (f, tool_bar_window))) > 0
|
||||
&& (coordinates_in_window (XWINDOW (FGET (f, tool_bar_window)), x, y)
|
||||
&& WINDOWP (f->tool_bar_window)
|
||||
&& WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window)) > 0
|
||||
&& (coordinates_in_window (XWINDOW (f->tool_bar_window), x, y)
|
||||
!= ON_NOTHING))
|
||||
{
|
||||
*part = ON_TEXT;
|
||||
window = FGET (f, tool_bar_window);
|
||||
window = f->tool_bar_window;
|
||||
}
|
||||
|
||||
return window;
|
||||
|
@ -2314,7 +2313,7 @@ MINIBUF neither nil nor t means never include the minibuffer window. */)
|
|||
(Lisp_Object frame, Lisp_Object minibuf, Lisp_Object window)
|
||||
{
|
||||
if (NILP (window))
|
||||
window = FRAMEP (frame) ? FGET (XFRAME (frame), selected_window) : selected_window;
|
||||
window = FRAMEP (frame) ? XFRAME (frame)->selected_window : selected_window;
|
||||
CHECK_WINDOW (window);
|
||||
if (NILP (frame))
|
||||
frame = selected_frame;
|
||||
|
@ -3553,9 +3552,9 @@ be applied on the Elisp level. */)
|
|||
void
|
||||
resize_frame_windows (struct frame *f, int size, int horflag)
|
||||
{
|
||||
Lisp_Object root = FGET (f, root_window);
|
||||
Lisp_Object root = f->root_window;
|
||||
struct window *r = XWINDOW (root);
|
||||
Lisp_Object mini = FGET (f, minibuffer_window);
|
||||
Lisp_Object mini = f->minibuffer_window;
|
||||
struct window *m;
|
||||
/* new_size is the new size of the frame's root window. */
|
||||
int new_size = (horflag
|
||||
|
@ -3603,7 +3602,7 @@ resize_frame_windows (struct frame *f, int size, int horflag)
|
|||
{
|
||||
/* We lost. Delete all windows but the frame's
|
||||
selected one. */
|
||||
root = FGET (f, selected_window);
|
||||
root = f->selected_window;
|
||||
Fdelete_other_windows_internal (root, Qnil);
|
||||
if (horflag)
|
||||
WSET (XWINDOW (root), total_cols, make_number (new_size));
|
||||
|
@ -6484,8 +6483,8 @@ init_window_once (void)
|
|||
struct frame *f = make_initial_frame ();
|
||||
XSETFRAME (selected_frame, f);
|
||||
Vterminal_frame = selected_frame;
|
||||
minibuf_window = FGET (f, minibuffer_window);
|
||||
selected_window = FGET (f, selected_window);
|
||||
minibuf_window = f->minibuffer_window;
|
||||
selected_window = f->selected_window;
|
||||
last_nonminibuf_frame = f;
|
||||
|
||||
window_initialized = 1;
|
||||
|
|
|
@ -474,14 +474,14 @@ struct window
|
|||
/* 1 if W is a menu bar window. */
|
||||
|
||||
#define WINDOW_MENU_BAR_P(W) \
|
||||
(WINDOWP (FGET (WINDOW_XFRAME (W), menu_bar_window)) \
|
||||
&& (W) == XWINDOW (FGET (WINDOW_XFRAME (W), menu_bar_window)))
|
||||
(WINDOWP (WINDOW_XFRAME (W)->menu_bar_window) \
|
||||
&& (W) == XWINDOW (WINDOW_XFRAME (W)->menu_bar_window))
|
||||
|
||||
/* 1 if W is a tool bar window. */
|
||||
|
||||
#define WINDOW_TOOL_BAR_P(W) \
|
||||
(WINDOWP (FGET (WINDOW_XFRAME (W), tool_bar_window)) \
|
||||
&& (W) == XWINDOW (FGET (WINDOW_XFRAME (W), tool_bar_window)))
|
||||
(WINDOWP (WINDOW_XFRAME (W)->tool_bar_window) \
|
||||
&& (W) == XWINDOW (WINDOW_XFRAME (W)->tool_bar_window))
|
||||
|
||||
/* Return the frame y-position at which window W starts.
|
||||
This includes a header line, if any. */
|
||||
|
|
118
src/xdisp.c
118
src/xdisp.c
|
@ -10891,7 +10891,7 @@ format_mode_line_unwind_data (struct frame *target_frame,
|
|||
/* Similarly to `with-selected-window', if the operation selects
|
||||
a window on another frame, we must restore that frame's
|
||||
selected window, and (for a tty) the top-frame. */
|
||||
ASET (vector, 8, FGET (target_frame, selected_window));
|
||||
ASET (vector, 8, target_frame->selected_window);
|
||||
if (FRAME_TERMCAP_P (target_frame))
|
||||
ASET (vector, 9, FRAME_TTY (target_frame)->top_frame);
|
||||
}
|
||||
|
@ -11051,14 +11051,14 @@ x_consider_frame_title (Lisp_Object frame)
|
|||
format_mode_line_unwind_data
|
||||
(f, current_buffer, selected_window, 0));
|
||||
|
||||
Fselect_window (FGET (f, selected_window), Qt);
|
||||
Fselect_window (f->selected_window, Qt);
|
||||
set_buffer_internal_1
|
||||
(XBUFFER (WGET (XWINDOW (FGET (f, selected_window)), buffer)));
|
||||
(XBUFFER (WGET (XWINDOW (f->selected_window), buffer)));
|
||||
fmt = FRAME_ICONIFIED_P (f) ? Vicon_title_format : Vframe_title_format;
|
||||
|
||||
mode_line_target = MODE_LINE_TITLE;
|
||||
title_start = MODE_LINE_NOPROP_LEN (0);
|
||||
init_iterator (&it, XWINDOW (FGET (f, selected_window)), -1, -1,
|
||||
init_iterator (&it, XWINDOW (f->selected_window), -1, -1,
|
||||
NULL, DEFAULT_FACE_ID);
|
||||
display_mode_element (&it, 0, -1, -1, fmt, Qnil, 0);
|
||||
len = MODE_LINE_NOPROP_LEN (title_start);
|
||||
|
@ -11070,9 +11070,9 @@ x_consider_frame_title (Lisp_Object frame)
|
|||
already wasted too much time by walking through the list with
|
||||
display_mode_element, then we might need to optimize at a
|
||||
higher level than this.) */
|
||||
if (! STRINGP (FGET (f, name))
|
||||
|| SBYTES (FGET (f, name)) != len
|
||||
|| memcmp (title, SDATA (FGET (f, name)), len) != 0)
|
||||
if (! STRINGP (f->name)
|
||||
|| SBYTES (f->name) != len
|
||||
|| memcmp (title, SDATA (f->name), len) != 0)
|
||||
x_implicitly_set_name (f, make_string (title, len), Qnil);
|
||||
}
|
||||
}
|
||||
|
@ -11173,7 +11173,7 @@ prepare_menu_bars (void)
|
|||
&& FRAME_NS_P (f))
|
||||
ns_set_doc_edited
|
||||
(f, Fbuffer_modified_p
|
||||
(WGET (XWINDOW (FGET (f, selected_window)), buffer)));
|
||||
(WGET (XWINDOW (f->selected_window), buffer)));
|
||||
#endif
|
||||
UNGCPRO;
|
||||
}
|
||||
|
@ -11414,8 +11414,8 @@ update_tool_bar (struct frame *f, int save_match_data)
|
|||
#if defined (USE_GTK) || defined (HAVE_NS)
|
||||
int do_update = FRAME_EXTERNAL_TOOL_BAR (f);
|
||||
#else
|
||||
int do_update = WINDOWP (FGET (f, tool_bar_window))
|
||||
&& WINDOW_TOTAL_LINES (XWINDOW (FGET (f, tool_bar_window))) > 0;
|
||||
int do_update = WINDOWP (f->tool_bar_window)
|
||||
&& WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window)) > 0;
|
||||
#endif
|
||||
|
||||
if (do_update)
|
||||
|
@ -11477,12 +11477,12 @@ update_tool_bar (struct frame *f, int save_match_data)
|
|||
|
||||
/* Build desired tool-bar items from keymaps. */
|
||||
new_tool_bar
|
||||
= tool_bar_items (Fcopy_sequence (FGET (f, tool_bar_items)),
|
||||
= tool_bar_items (Fcopy_sequence (f->tool_bar_items),
|
||||
&new_n_tool_bar);
|
||||
|
||||
/* Redisplay the tool-bar if we changed it. */
|
||||
if (new_n_tool_bar != f->n_tool_bar_items
|
||||
|| NILP (Fequal (new_tool_bar, FGET (f, tool_bar_items))))
|
||||
|| NILP (Fequal (new_tool_bar, f->tool_bar_items)))
|
||||
{
|
||||
/* Redisplay that happens asynchronously due to an expose event
|
||||
may access f->tool_bar_items. Make sure we update both
|
||||
|
@ -11521,22 +11521,22 @@ build_desired_tool_bar_string (struct frame *f)
|
|||
Otherwise, make a new string. */
|
||||
|
||||
/* The size of the string we might be able to reuse. */
|
||||
size = (STRINGP (FGET (f, desired_tool_bar_string))
|
||||
? SCHARS (FGET (f, desired_tool_bar_string))
|
||||
size = (STRINGP (f->desired_tool_bar_string)
|
||||
? SCHARS (f->desired_tool_bar_string)
|
||||
: 0);
|
||||
|
||||
/* We need one space in the string for each image. */
|
||||
size_needed = f->n_tool_bar_items;
|
||||
|
||||
/* Reuse f->desired_tool_bar_string, if possible. */
|
||||
if (size < size_needed || NILP (FGET (f, desired_tool_bar_string)))
|
||||
if (size < size_needed || NILP (f->desired_tool_bar_string))
|
||||
FSET (f, desired_tool_bar_string,
|
||||
Fmake_string (make_number (size_needed), make_number (' ')));
|
||||
Fmake_string (make_number (size_needed), make_number (' ')));
|
||||
else
|
||||
{
|
||||
props = list4 (Qdisplay, Qnil, Qmenu_item, Qnil);
|
||||
Fremove_text_properties (make_number (0), make_number (size),
|
||||
props, FGET (f, desired_tool_bar_string));
|
||||
props, f->desired_tool_bar_string);
|
||||
}
|
||||
|
||||
/* Put a `display' property on the string for the images to display,
|
||||
|
@ -11545,7 +11545,7 @@ build_desired_tool_bar_string (struct frame *f)
|
|||
for (i = 0; i < f->n_tool_bar_items; ++i)
|
||||
{
|
||||
#define PROP(IDX) \
|
||||
AREF (FGET (f, tool_bar_items), i * TOOL_BAR_ITEM_NSLOTS + (IDX))
|
||||
AREF (f->tool_bar_items, i * TOOL_BAR_ITEM_NSLOTS + (IDX))
|
||||
|
||||
int enabled_p = !NILP (PROP (TOOL_BAR_ITEM_ENABLED_P));
|
||||
int selected_p = !NILP (PROP (TOOL_BAR_ITEM_SELECTED_P));
|
||||
|
@ -11654,11 +11654,11 @@ build_desired_tool_bar_string (struct frame *f)
|
|||
string. The string can be longer than needed when we reuse a
|
||||
previous string. */
|
||||
if (i + 1 == f->n_tool_bar_items)
|
||||
end = SCHARS (FGET (f, desired_tool_bar_string));
|
||||
end = SCHARS (f->desired_tool_bar_string);
|
||||
else
|
||||
end = i + 1;
|
||||
Fadd_text_properties (make_number (i), make_number (end),
|
||||
props, FGET (f, desired_tool_bar_string));
|
||||
props, f->desired_tool_bar_string);
|
||||
#undef PROP
|
||||
}
|
||||
|
||||
|
@ -11808,7 +11808,7 @@ display_tool_bar_line (struct it *it, int height)
|
|||
static int
|
||||
tool_bar_lines_needed (struct frame *f, int *n_rows)
|
||||
{
|
||||
struct window *w = XWINDOW (FGET (f, tool_bar_window));
|
||||
struct window *w = XWINDOW (f->tool_bar_window);
|
||||
struct it it;
|
||||
/* tool_bar_lines_needed is called from redisplay_tool_bar after building
|
||||
the desired matrix, so use (unused) mode-line row as temporary row to
|
||||
|
@ -11820,7 +11820,7 @@ tool_bar_lines_needed (struct frame *f, int *n_rows)
|
|||
init_iterator (&it, w, -1, -1, temp_row, TOOL_BAR_FACE_ID);
|
||||
it.first_visible_x = 0;
|
||||
it.last_visible_x = FRAME_TOTAL_COLS (f) * FRAME_COLUMN_WIDTH (f);
|
||||
reseat_to_string (&it, NULL, FGET (f, desired_tool_bar_string), 0, 0, 0, -1);
|
||||
reseat_to_string (&it, NULL, f->desired_tool_bar_string, 0, 0, 0, -1);
|
||||
it.paragraph_embedding = L2R;
|
||||
|
||||
while (!ITERATOR_AT_END_P (&it))
|
||||
|
@ -11854,8 +11854,8 @@ DEFUN ("tool-bar-lines-needed", Ftool_bar_lines_needed, Stool_bar_lines_needed,
|
|||
CHECK_FRAME (frame);
|
||||
f = XFRAME (frame);
|
||||
|
||||
if (WINDOWP (FGET (f, tool_bar_window))
|
||||
&& (w = XWINDOW (FGET (f, tool_bar_window)),
|
||||
if (WINDOWP (f->tool_bar_window)
|
||||
&& (w = XWINDOW (f->tool_bar_window),
|
||||
WINDOW_TOTAL_LINES (w) > 0))
|
||||
{
|
||||
update_tool_bar (f, 1);
|
||||
|
@ -11890,8 +11890,8 @@ redisplay_tool_bar (struct frame *f)
|
|||
do anything. This means you must start with tool-bar-lines
|
||||
non-zero to get the auto-sizing effect. Or in other words, you
|
||||
can turn off tool-bars by specifying tool-bar-lines zero. */
|
||||
if (!WINDOWP (FGET (f, tool_bar_window))
|
||||
|| (w = XWINDOW (FGET (f, tool_bar_window)),
|
||||
if (!WINDOWP (f->tool_bar_window)
|
||||
|| (w = XWINDOW (f->tool_bar_window),
|
||||
WINDOW_TOTAL_LINES (w) == 0))
|
||||
return 0;
|
||||
|
||||
|
@ -11903,7 +11903,7 @@ redisplay_tool_bar (struct frame *f)
|
|||
|
||||
/* Build a string that represents the contents of the tool-bar. */
|
||||
build_desired_tool_bar_string (f);
|
||||
reseat_to_string (&it, NULL, FGET (f, desired_tool_bar_string), 0, 0, 0, -1);
|
||||
reseat_to_string (&it, NULL, f->desired_tool_bar_string, 0, 0, 0, -1);
|
||||
/* FIXME: This should be controlled by a user option. But it
|
||||
doesn't make sense to have an R2L tool bar if the menu bar cannot
|
||||
be drawn also R2L, and making the menu bar R2L is tricky due
|
||||
|
@ -12060,14 +12060,14 @@ tool_bar_item_info (struct frame *f, struct glyph *glyph, int *prop_idx)
|
|||
/* This function can be called asynchronously, which means we must
|
||||
exclude any possibility that Fget_text_property signals an
|
||||
error. */
|
||||
charpos = min (SCHARS (FGET (f, current_tool_bar_string)), glyph->charpos);
|
||||
charpos = min (SCHARS (f->current_tool_bar_string), glyph->charpos);
|
||||
charpos = max (0, charpos);
|
||||
|
||||
/* Get the text property `menu-item' at pos. The value of that
|
||||
property is the start index of this item's properties in
|
||||
F->tool_bar_items. */
|
||||
prop = Fget_text_property (make_number (charpos),
|
||||
Qmenu_item, FGET (f, current_tool_bar_string));
|
||||
Qmenu_item, f->current_tool_bar_string);
|
||||
if (INTEGERP (prop))
|
||||
{
|
||||
*prop_idx = XINT (prop);
|
||||
|
@ -12095,7 +12095,7 @@ get_tool_bar_item (struct frame *f, int x, int y, struct glyph **glyph,
|
|||
int *hpos, int *vpos, int *prop_idx)
|
||||
{
|
||||
Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
|
||||
struct window *w = XWINDOW (FGET (f, tool_bar_window));
|
||||
struct window *w = XWINDOW (f->tool_bar_window);
|
||||
int area;
|
||||
|
||||
/* Find the glyph under X/Y. */
|
||||
|
@ -12109,7 +12109,7 @@ get_tool_bar_item (struct frame *f, int x, int y, struct glyph **glyph,
|
|||
return -1;
|
||||
|
||||
/* Is mouse on the highlighted item? */
|
||||
if (EQ (FGET (f, tool_bar_window), hlinfo->mouse_face_window)
|
||||
if (EQ (f->tool_bar_window, hlinfo->mouse_face_window)
|
||||
&& *vpos >= hlinfo->mouse_face_beg_row
|
||||
&& *vpos <= hlinfo->mouse_face_end_row
|
||||
&& (*vpos > hlinfo->mouse_face_beg_row
|
||||
|
@ -12134,7 +12134,7 @@ handle_tool_bar_click (struct frame *f, int x, int y, int down_p,
|
|||
int modifiers)
|
||||
{
|
||||
Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
|
||||
struct window *w = XWINDOW (FGET (f, tool_bar_window));
|
||||
struct window *w = XWINDOW (f->tool_bar_window);
|
||||
int hpos, vpos, prop_idx;
|
||||
struct glyph *glyph;
|
||||
Lisp_Object enabled_p;
|
||||
|
@ -12145,7 +12145,7 @@ handle_tool_bar_click (struct frame *f, int x, int y, int down_p,
|
|||
return;
|
||||
|
||||
/* If item is disabled, do nothing. */
|
||||
enabled_p = AREF (FGET (f, tool_bar_items), prop_idx + TOOL_BAR_ITEM_ENABLED_P);
|
||||
enabled_p = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_ENABLED_P);
|
||||
if (NILP (enabled_p))
|
||||
return;
|
||||
|
||||
|
@ -12166,7 +12166,7 @@ handle_tool_bar_click (struct frame *f, int x, int y, int down_p,
|
|||
show_mouse_face (hlinfo, DRAW_IMAGE_RAISED);
|
||||
hlinfo->mouse_face_image_state = DRAW_IMAGE_RAISED;
|
||||
|
||||
key = AREF (FGET (f, tool_bar_items), prop_idx + TOOL_BAR_ITEM_KEY);
|
||||
key = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_KEY);
|
||||
|
||||
XSETFRAME (frame, f);
|
||||
event.kind = TOOL_BAR_EVENT;
|
||||
|
@ -12191,7 +12191,7 @@ handle_tool_bar_click (struct frame *f, int x, int y, int down_p,
|
|||
static void
|
||||
note_tool_bar_highlight (struct frame *f, int x, int y)
|
||||
{
|
||||
Lisp_Object window = FGET (f, tool_bar_window);
|
||||
Lisp_Object window = f->tool_bar_window;
|
||||
struct window *w = XWINDOW (window);
|
||||
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
|
||||
Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
|
||||
|
@ -12237,7 +12237,7 @@ note_tool_bar_highlight (struct frame *f, int x, int y)
|
|||
draw = mouse_down_p ? DRAW_IMAGE_SUNKEN : DRAW_IMAGE_RAISED;
|
||||
|
||||
/* If tool-bar item is not enabled, don't highlight it. */
|
||||
enabled_p = AREF (FGET (f, tool_bar_items), prop_idx + TOOL_BAR_ITEM_ENABLED_P);
|
||||
enabled_p = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_ENABLED_P);
|
||||
if (!NILP (enabled_p))
|
||||
{
|
||||
/* Compute the x-position of the glyph. In front and past the
|
||||
|
@ -12271,9 +12271,9 @@ note_tool_bar_highlight (struct frame *f, int x, int y)
|
|||
XTread_socket does the rest. */
|
||||
help_echo_object = help_echo_window = Qnil;
|
||||
help_echo_pos = -1;
|
||||
help_echo_string = AREF (FGET (f, tool_bar_items), prop_idx + TOOL_BAR_ITEM_HELP);
|
||||
help_echo_string = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_HELP);
|
||||
if (NILP (help_echo_string))
|
||||
help_echo_string = AREF (FGET (f, tool_bar_items), prop_idx + TOOL_BAR_ITEM_CAPTION);
|
||||
help_echo_string = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_CAPTION);
|
||||
}
|
||||
|
||||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
|
@ -12854,7 +12854,7 @@ select_frame_for_redisplay (Lisp_Object frame)
|
|||
selected_frame = frame;
|
||||
|
||||
do {
|
||||
for (tail = FGET (XFRAME (frame), param_alist);
|
||||
for (tail = XFRAME (frame)->param_alist;
|
||||
CONSP (tail); tail = XCDR (tail))
|
||||
if (CONSP (XCAR (tail))
|
||||
&& (tem = XCAR (XCAR (tail)),
|
||||
|
@ -13428,7 +13428,7 @@ redisplay_internal (void)
|
|||
if (!f->already_hscrolled_p)
|
||||
{
|
||||
f->already_hscrolled_p = 1;
|
||||
if (hscroll_windows (FGET (f, root_window)))
|
||||
if (hscroll_windows (f->root_window))
|
||||
goto retry;
|
||||
}
|
||||
|
||||
|
@ -13441,7 +13441,7 @@ redisplay_internal (void)
|
|||
STOP_POLLING;
|
||||
|
||||
/* Update the display. */
|
||||
set_window_update_flags (XWINDOW (FGET (f, root_window)), 1);
|
||||
set_window_update_flags (XWINDOW (f->root_window), 1);
|
||||
pending |= update_frame (f, 0, 0);
|
||||
f->updated_p = 1;
|
||||
}
|
||||
|
@ -13454,7 +13454,7 @@ redisplay_internal (void)
|
|||
and selected_window to be temporarily out-of-sync but let's make
|
||||
sure this stays contained. */
|
||||
select_frame_for_redisplay (old_frame);
|
||||
eassert (EQ (FGET (XFRAME (selected_frame), selected_window),
|
||||
eassert (EQ (XFRAME (selected_frame)->selected_window,
|
||||
selected_window));
|
||||
|
||||
if (!pending)
|
||||
|
@ -13467,7 +13467,7 @@ redisplay_internal (void)
|
|||
struct frame *f = XFRAME (frame);
|
||||
if (f->updated_p)
|
||||
{
|
||||
mark_window_display_accurate (FGET (f, root_window), 1);
|
||||
mark_window_display_accurate (f->root_window, 1);
|
||||
if (FRAME_TERMINAL (f)->frame_up_to_date_hook)
|
||||
FRAME_TERMINAL (f)->frame_up_to_date_hook (f);
|
||||
}
|
||||
|
@ -16163,7 +16163,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
|
|||
if (FRAME_EXTERNAL_TOOL_BAR (f))
|
||||
redisplay_tool_bar (f);
|
||||
#else
|
||||
if (WINDOWP (FGET (f, tool_bar_window))
|
||||
if (WINDOWP (f->tool_bar_window)
|
||||
&& (FRAME_TOOL_BAR_LINES (f) > 0
|
||||
|| !NILP (Vauto_resize_tool_bars))
|
||||
&& redisplay_tool_bar (f))
|
||||
|
@ -18118,7 +18118,7 @@ GLYPH > 1 or omitted means dump glyphs in long form. */)
|
|||
(Lisp_Object row, Lisp_Object glyphs)
|
||||
{
|
||||
struct frame *sf = SELECTED_FRAME ();
|
||||
struct glyph_matrix *m = XWINDOW (FGET (sf, tool_bar_window))->current_matrix;
|
||||
struct glyph_matrix *m = XWINDOW (sf->tool_bar_window)->current_matrix;
|
||||
EMACS_INT vpos;
|
||||
|
||||
CHECK_NUMBER (row);
|
||||
|
@ -20103,8 +20103,8 @@ display_menu_bar (struct window *w)
|
|||
/* Menu bar lines are displayed in the desired matrix of the
|
||||
dummy window menu_bar_window. */
|
||||
struct window *menu_w;
|
||||
eassert (WINDOWP (FGET (f, menu_bar_window)));
|
||||
menu_w = XWINDOW (FGET (f, menu_bar_window));
|
||||
eassert (WINDOWP (f->menu_bar_window));
|
||||
menu_w = XWINDOW (f->menu_bar_window);
|
||||
init_iterator (&it, menu_w, -1, -1, menu_w->desired_matrix->rows,
|
||||
MENU_FACE_ID);
|
||||
it.first_visible_x = 0;
|
||||
|
@ -21408,10 +21408,10 @@ decode_mode_spec (struct window *w, register int c, int field_width,
|
|||
|
||||
case 'F':
|
||||
/* %F displays the frame name. */
|
||||
if (!NILP (FGET (f, title)))
|
||||
return SSDATA (FGET (f, title));
|
||||
if (!NILP (f->title))
|
||||
return SSDATA (f->title);
|
||||
if (f->explicit_name || ! FRAME_WINDOW_P (f))
|
||||
return SSDATA (FGET (f, name));
|
||||
return SSDATA (f->name);
|
||||
return "Emacs";
|
||||
|
||||
case 'f':
|
||||
|
@ -25575,7 +25575,7 @@ get_window_cursor_type (struct window *w, struct glyph *glyph, int *width,
|
|||
}
|
||||
|
||||
/* Detect a nonselected window or nonselected frame. */
|
||||
else if (w != XWINDOW (FGET (f, selected_window))
|
||||
else if (w != XWINDOW (f->selected_window)
|
||||
|| f != FRAME_X_DISPLAY_INFO (f)->x_highlight_frame)
|
||||
{
|
||||
*active_cursor = 0;
|
||||
|
@ -26117,7 +26117,7 @@ update_cursor_in_window_tree (struct window *w, int on_p)
|
|||
void
|
||||
x_update_cursor (struct frame *f, int on_p)
|
||||
{
|
||||
update_cursor_in_window_tree (XWINDOW (FGET (f, root_window)), on_p);
|
||||
update_cursor_in_window_tree (XWINDOW (f->root_window), on_p);
|
||||
}
|
||||
|
||||
|
||||
|
@ -26276,7 +26276,7 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw)
|
|||
if (FRAME_WINDOW_P (f))
|
||||
{
|
||||
if (draw == DRAW_NORMAL_TEXT
|
||||
&& !EQ (hlinfo->mouse_face_window, FGET (f, tool_bar_window)))
|
||||
&& !EQ (hlinfo->mouse_face_window, f->tool_bar_window))
|
||||
FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->text_cursor);
|
||||
else if (draw == DRAW_MOUSE_FACE)
|
||||
FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->hand_cursor);
|
||||
|
@ -27632,7 +27632,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
|
|||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
/* Handle tool-bar window differently since it doesn't display a
|
||||
buffer. */
|
||||
if (EQ (window, FGET (f, tool_bar_window)))
|
||||
if (EQ (window, f->tool_bar_window))
|
||||
{
|
||||
note_tool_bar_highlight (f, x, y);
|
||||
return;
|
||||
|
@ -28542,18 +28542,18 @@ expose_frame (struct frame *f, int x, int y, int w, int h)
|
|||
}
|
||||
|
||||
TRACE ((stderr, "(%d, %d, %d, %d)\n", r.x, r.y, r.width, r.height));
|
||||
mouse_face_overwritten_p = expose_window_tree (XWINDOW (FGET (f, root_window)), &r);
|
||||
mouse_face_overwritten_p = expose_window_tree (XWINDOW (f->root_window), &r);
|
||||
|
||||
if (WINDOWP (FGET (f, tool_bar_window)))
|
||||
if (WINDOWP (f->tool_bar_window))
|
||||
mouse_face_overwritten_p
|
||||
|= expose_window (XWINDOW (FGET (f, tool_bar_window)), &r);
|
||||
|= expose_window (XWINDOW (f->tool_bar_window), &r);
|
||||
|
||||
#ifdef HAVE_X_WINDOWS
|
||||
#ifndef MSDOS
|
||||
#ifndef USE_X_TOOLKIT
|
||||
if (WINDOWP (FGET (f, menu_bar_window)))
|
||||
if (WINDOWP (f->menu_bar_window))
|
||||
mouse_face_overwritten_p
|
||||
|= expose_window (XWINDOW (FGET (f, menu_bar_window)), &r);
|
||||
|= expose_window (XWINDOW (f->menu_bar_window), &r);
|
||||
#endif /* not USE_X_TOOLKIT */
|
||||
#endif
|
||||
#endif
|
||||
|
|
17
src/xfaces.c
17
src/xfaces.c
|
@ -2053,7 +2053,7 @@ lface_from_face_name_no_resolve (struct frame *f, Lisp_Object face_name,
|
|||
Lisp_Object lface;
|
||||
|
||||
if (f)
|
||||
lface = assq_no_quit (face_name, FGET (f, face_alist));
|
||||
lface = assq_no_quit (face_name, f->face_alist);
|
||||
else
|
||||
lface = assq_no_quit (face_name, Vface_new_frame_defaults);
|
||||
|
||||
|
@ -2680,8 +2680,7 @@ Value is a vector of face attributes. */)
|
|||
lface = Fmake_vector (make_number (LFACE_VECTOR_SIZE),
|
||||
Qunspecified);
|
||||
ASET (lface, 0, Qface);
|
||||
FSET (f, face_alist,
|
||||
Fcons (Fcons (face, lface), FGET (f, face_alist)));
|
||||
FSET (f, face_alist, Fcons (Fcons (face, lface), f->face_alist));
|
||||
}
|
||||
else
|
||||
for (i = 1; i < LFACE_VECTOR_SIZE; ++i)
|
||||
|
@ -3360,7 +3359,7 @@ update_face_from_frame_parameter (struct frame *f, Lisp_Object param,
|
|||
/* If there are no faces yet, give up. This is the case when called
|
||||
from Fx_create_frame, and we do the necessary things later in
|
||||
face-set-after-frame-defaults. */
|
||||
if (NILP (FGET (f, face_alist)))
|
||||
if (NILP (f->face_alist))
|
||||
return;
|
||||
|
||||
if (EQ (param, Qforeground_color))
|
||||
|
@ -4046,7 +4045,7 @@ For internal use only. */)
|
|||
(Lisp_Object frame)
|
||||
{
|
||||
struct frame *f = frame_or_selected_frame (frame, 0);
|
||||
return FGET (f, face_alist);
|
||||
return f->face_alist;
|
||||
}
|
||||
|
||||
|
||||
|
@ -4337,7 +4336,7 @@ free_realized_faces (struct face_cache *c)
|
|||
matrices as invalid because they will reference faces freed
|
||||
above. This function is also called when a frame is
|
||||
destroyed. In this case, the root window of F is nil. */
|
||||
if (WINDOWP (FGET (f, root_window)))
|
||||
if (WINDOWP (f->root_window))
|
||||
{
|
||||
clear_current_matrices (f);
|
||||
++windows_or_buffers_changed;
|
||||
|
@ -5110,7 +5109,7 @@ face for italic. */)
|
|||
{
|
||||
frame = XCAR (fl_tail);
|
||||
if (!NILP (Fequal (Fcdr (Fassq (Qdisplay,
|
||||
FGET (XFRAME (frame), param_alist))),
|
||||
XFRAME (frame)->param_alist)),
|
||||
display)))
|
||||
break;
|
||||
}
|
||||
|
@ -5406,7 +5405,7 @@ realize_default_face (struct frame *f)
|
|||
{
|
||||
/* This function is called so early that colors are not yet
|
||||
set in the frame parameter list. */
|
||||
Lisp_Object color = Fassq (Qforeground_color, FGET (f, param_alist));
|
||||
Lisp_Object color = Fassq (Qforeground_color, f->param_alist);
|
||||
|
||||
if (CONSP (color) && STRINGP (XCDR (color)))
|
||||
ASET (lface, LFACE_FOREGROUND_INDEX, XCDR (color));
|
||||
|
@ -5422,7 +5421,7 @@ realize_default_face (struct frame *f)
|
|||
{
|
||||
/* This function is called so early that colors are not yet
|
||||
set in the frame parameter list. */
|
||||
Lisp_Object color = Fassq (Qbackground_color, FGET (f, param_alist));
|
||||
Lisp_Object color = Fassq (Qbackground_color, f->param_alist);
|
||||
if (CONSP (color) && STRINGP (XCDR (color)))
|
||||
ASET (lface, LFACE_BACKGROUND_INDEX, XCDR (color));
|
||||
else if (FRAME_WINDOW_P (f))
|
||||
|
|
58
src/xfns.c
58
src/xfns.c
|
@ -1123,9 +1123,9 @@ x_set_icon_type (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
|
|||
BLOCK_INPUT;
|
||||
if (NILP (arg))
|
||||
result = x_text_icon (f,
|
||||
SSDATA ((!NILP (FGET (f, icon_name))
|
||||
? FGET (f, icon_name)
|
||||
: FGET (f, name))));
|
||||
SSDATA ((!NILP (f->icon_name)
|
||||
? f->icon_name
|
||||
: f->name)));
|
||||
else
|
||||
result = x_bitmap_icon (f, arg);
|
||||
|
||||
|
@ -1160,11 +1160,11 @@ x_set_icon_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
|
|||
BLOCK_INPUT;
|
||||
|
||||
result = x_text_icon (f,
|
||||
SSDATA ((!NILP (FGET (f, icon_name))
|
||||
? FGET (f, icon_name)
|
||||
: !NILP (FGET (f, title))
|
||||
? FGET (f, title)
|
||||
: FGET (f, name))));
|
||||
SSDATA ((!NILP (f->icon_name)
|
||||
? f->icon_name
|
||||
: !NILP (f->title)
|
||||
? f->title
|
||||
: f->name)));
|
||||
|
||||
if (result)
|
||||
{
|
||||
|
@ -1253,8 +1253,8 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
|
|||
UNBLOCK_INPUT;
|
||||
}
|
||||
|
||||
if (nlines == 0 && WINDOWP (FGET (f, menu_bar_window)))
|
||||
clear_glyph_matrix (XWINDOW (FGET (f, menu_bar_window))->current_matrix);
|
||||
if (nlines == 0 && WINDOWP (f->menu_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->menu_bar_window)->current_matrix);
|
||||
}
|
||||
#endif /* not USE_X_TOOLKIT && not USE_GTK */
|
||||
adjust_glyphs (f);
|
||||
|
@ -1352,8 +1352,8 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
|
|||
UNBLOCK_INPUT;
|
||||
}
|
||||
|
||||
if (WINDOWP (FGET (f, tool_bar_window)))
|
||||
clear_glyph_matrix (XWINDOW (FGET (f, tool_bar_window))->current_matrix);
|
||||
if (WINDOWP (f->tool_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
|
||||
}
|
||||
|
||||
run_window_configuration_change_hook (f);
|
||||
|
@ -1548,7 +1548,7 @@ x_set_name_internal (FRAME_PTR f, Lisp_Object name)
|
|||
if (text.nitems != bytes)
|
||||
error ("Window name too large");
|
||||
|
||||
if (!STRINGP (FGET (f, icon_name)))
|
||||
if (!STRINGP (f->icon_name))
|
||||
{
|
||||
icon = text;
|
||||
encoded_icon_name = encoded_name;
|
||||
|
@ -1556,7 +1556,7 @@ x_set_name_internal (FRAME_PTR f, Lisp_Object name)
|
|||
else
|
||||
{
|
||||
/* See the above comment "Note: Encoding strategy". */
|
||||
icon.value = x_encode_text (FGET (f, icon_name), coding_system, 0,
|
||||
icon.value = x_encode_text (f->icon_name, coding_system, 0,
|
||||
&bytes, &stringp, &do_free_icon_value);
|
||||
icon.encoding = (stringp ? XA_STRING
|
||||
: FRAME_X_DISPLAY_INFO (f)->Xatom_COMPOUND_TEXT);
|
||||
|
@ -1565,7 +1565,7 @@ x_set_name_internal (FRAME_PTR f, Lisp_Object name)
|
|||
if (icon.nitems != bytes)
|
||||
error ("Icon name too large");
|
||||
|
||||
encoded_icon_name = ENCODE_UTF_8 (FGET (f, icon_name));
|
||||
encoded_icon_name = ENCODE_UTF_8 (f->icon_name);
|
||||
}
|
||||
|
||||
#ifdef USE_GTK
|
||||
|
@ -1632,7 +1632,7 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit)
|
|||
/* Check for no change needed in this very common case
|
||||
before we do any consing. */
|
||||
if (!strcmp (FRAME_X_DISPLAY_INFO (f)->x_id_name,
|
||||
SSDATA (FGET (f, name))))
|
||||
SSDATA (f->name)))
|
||||
return;
|
||||
name = build_string (FRAME_X_DISPLAY_INFO (f)->x_id_name);
|
||||
}
|
||||
|
@ -1640,15 +1640,15 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit)
|
|||
CHECK_STRING (name);
|
||||
|
||||
/* Don't change the name if it's already NAME. */
|
||||
if (! NILP (Fstring_equal (name, FGET (f, name))))
|
||||
if (! NILP (Fstring_equal (name, f->name)))
|
||||
return;
|
||||
|
||||
FSET (f, name, name);
|
||||
|
||||
/* For setting the frame title, the title parameter should override
|
||||
the name parameter. */
|
||||
if (! NILP (FGET (f, title)))
|
||||
name = FGET (f, title);
|
||||
if (! NILP (f->title))
|
||||
name = f->title;
|
||||
|
||||
x_set_name_internal (f, name);
|
||||
}
|
||||
|
@ -1678,7 +1678,7 @@ static void
|
|||
x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
|
||||
{
|
||||
/* Don't change the title if it's already NAME. */
|
||||
if (EQ (name, FGET (f, title)))
|
||||
if (EQ (name, f->title))
|
||||
return;
|
||||
|
||||
update_mode_lines = 1;
|
||||
|
@ -1686,7 +1686,7 @@ x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
|
|||
FSET (f, title, name);
|
||||
|
||||
if (NILP (name))
|
||||
name = FGET (f, name);
|
||||
name = f->name;
|
||||
else
|
||||
CHECK_STRING (name);
|
||||
|
||||
|
@ -2571,7 +2571,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only)
|
|||
int explicit = f->explicit_name;
|
||||
|
||||
f->explicit_name = 0;
|
||||
name = FGET (f, name);
|
||||
name = f->name;
|
||||
FSET (f, name, Qnil);
|
||||
x_set_name (f, name, explicit);
|
||||
}
|
||||
|
@ -2714,7 +2714,7 @@ x_window (struct frame *f)
|
|||
int explicit = f->explicit_name;
|
||||
|
||||
f->explicit_name = 0;
|
||||
name = FGET (f, name);
|
||||
name = f->name;
|
||||
FSET (f, name, Qnil);
|
||||
x_set_name (f, name, explicit);
|
||||
}
|
||||
|
@ -2791,9 +2791,9 @@ x_icon (struct frame *f, Lisp_Object parms)
|
|||
: NormalState));
|
||||
#endif
|
||||
|
||||
x_text_icon (f, SSDATA ((!NILP (FGET (f, icon_name))
|
||||
? FGET (f, icon_name)
|
||||
: FGET (f, name))));
|
||||
x_text_icon (f, SSDATA ((!NILP (f->icon_name)
|
||||
? f->icon_name
|
||||
: f->name)));
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
}
|
||||
|
@ -3138,7 +3138,7 @@ This function is an internal primitive--use `make-frame' instead. */)
|
|||
FSET (f, icon_name,
|
||||
x_get_arg (dpyinfo, parms, Qicon_name, "iconName", "Title",
|
||||
RES_TYPE_STRING));
|
||||
if (! STRINGP (FGET (f, icon_name)))
|
||||
if (! STRINGP (f->icon_name))
|
||||
FSET (f, icon_name, Qnil);
|
||||
|
||||
FRAME_X_DISPLAY_INFO (f) = dpyinfo;
|
||||
|
@ -3340,7 +3340,7 @@ This function is an internal primitive--use `make-frame' instead. */)
|
|||
x_default_parameter (f, parms, Qfullscreen, Qnil,
|
||||
"fullscreen", "Fullscreen", RES_TYPE_SYMBOL);
|
||||
x_default_parameter (f, parms, Qtool_bar_position,
|
||||
FGET (f, tool_bar_position), 0, 0, RES_TYPE_SYMBOL);
|
||||
f->tool_bar_position, 0, 0, RES_TYPE_SYMBOL);
|
||||
|
||||
/* Compute the size of the X window. */
|
||||
window_prompting = x_figure_window_size (f, parms, 1);
|
||||
|
@ -3468,7 +3468,7 @@ This function is an internal primitive--use `make-frame' instead. */)
|
|||
by x_get_arg and friends, now go in the misc. alist of the frame. */
|
||||
for (tem = parms; CONSP (tem); tem = XCDR (tem))
|
||||
if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem))))
|
||||
FSET (f, param_alist, Fcons (XCAR (tem), FGET (f, param_alist)));
|
||||
FSET (f, param_alist, Fcons (XCAR (tem), f->param_alist));
|
||||
|
||||
UNGCPRO;
|
||||
|
||||
|
|
|
@ -835,7 +835,7 @@ menubar_selection_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
|
|||
if (!f)
|
||||
return;
|
||||
find_and_call_menu_selection (f, f->menu_bar_items_used,
|
||||
FGET (f, menu_bar_vector), client_data);
|
||||
f->menu_bar_vector, client_data);
|
||||
}
|
||||
#endif /* not USE_GTK */
|
||||
|
||||
|
@ -1014,14 +1014,14 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
|
|||
|
||||
/* Save the frame's previous menu bar contents data. */
|
||||
if (previous_menu_items_used)
|
||||
memcpy (previous_items, XVECTOR (FGET (f, menu_bar_vector))->contents,
|
||||
memcpy (previous_items, XVECTOR (f->menu_bar_vector)->contents,
|
||||
previous_menu_items_used * word_size);
|
||||
|
||||
/* Fill in menu_items with the current menu bar contents.
|
||||
This can evaluate Lisp code. */
|
||||
save_menu_items ();
|
||||
|
||||
menu_items = FGET (f, menu_bar_vector);
|
||||
menu_items = f->menu_bar_vector;
|
||||
menu_items_allocated = VECTORP (menu_items) ? ASIZE (menu_items) : 0;
|
||||
subitems = ASIZE (items) / 4;
|
||||
submenu_start = alloca ((subitems + 1) * sizeof *submenu_start);
|
||||
|
|
14
src/xterm.c
14
src/xterm.c
|
@ -6363,7 +6363,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr,
|
|||
mouse highlighting. */
|
||||
if (!hlinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
|
||||
&& (f == 0
|
||||
|| !EQ (FGET (f, tool_bar_window), hlinfo->mouse_face_window)))
|
||||
|| !EQ (f->tool_bar_window, hlinfo->mouse_face_window)))
|
||||
{
|
||||
clear_mouse_face (hlinfo);
|
||||
hlinfo->mouse_face_hidden = 1;
|
||||
|
@ -6910,15 +6910,15 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr,
|
|||
if (f)
|
||||
{
|
||||
/* Is this in the tool-bar? */
|
||||
if (WINDOWP (FGET (f, tool_bar_window))
|
||||
&& WINDOW_TOTAL_LINES (XWINDOW (FGET (f, tool_bar_window))))
|
||||
if (WINDOWP (f->tool_bar_window)
|
||||
&& WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window)))
|
||||
{
|
||||
Lisp_Object window;
|
||||
int x = event.xbutton.x;
|
||||
int y = event.xbutton.y;
|
||||
|
||||
window = window_from_coordinates (f, x, y, 0, 1);
|
||||
tool_bar_p = EQ (window, FGET (f, tool_bar_window));
|
||||
tool_bar_p = EQ (window, f->tool_bar_window);
|
||||
|
||||
if (tool_bar_p && event.xbutton.button < 4)
|
||||
{
|
||||
|
@ -7509,7 +7509,7 @@ x_draw_window_cursor (struct window *w, struct glyph_row *glyph_row, int x, int
|
|||
}
|
||||
|
||||
#ifdef HAVE_X_I18N
|
||||
if (w == XWINDOW (FGET (f, selected_window)))
|
||||
if (w == XWINDOW (f->selected_window))
|
||||
if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMPreeditPosition))
|
||||
xic_set_preeditarea (w, x, y);
|
||||
#endif
|
||||
|
@ -8160,7 +8160,7 @@ xim_instantiate_callback (Display *display, XPointer client_data, XPointer call_
|
|||
xic_set_statusarea (f);
|
||||
if (FRAME_XIC_STYLE (f) & XIMPreeditPosition)
|
||||
{
|
||||
struct window *w = XWINDOW (FGET (f, selected_window));
|
||||
struct window *w = XWINDOW (f->selected_window);
|
||||
xic_set_preeditarea (w, w->cursor.x, w->cursor.y);
|
||||
}
|
||||
}
|
||||
|
@ -8948,7 +8948,7 @@ x_set_window_size (struct frame *f, int change_gravity, int cols, int rows)
|
|||
#endif /* not USE_GTK */
|
||||
|
||||
/* If cursor was outside the new size, mark it as off. */
|
||||
mark_window_cursors_off (XWINDOW (FGET (f, root_window)));
|
||||
mark_window_cursors_off (XWINDOW (f->root_window));
|
||||
|
||||
/* Clear out any recollection of where the mouse highlighting was,
|
||||
since it might be in a place that's outside the new frame size.
|
||||
|
|
Loading…
Add table
Reference in a new issue