static struct window *
decode_any_window (register Lisp_Object window)
{
+ struct window *w;
+
if (NILP (window))
return XWINDOW (selected_window);
CHECK_WINDOW (window);
- return XWINDOW (window);
+ w = XWINDOW (window);
+ /* The following test throws up every time a tooltip frame is displayed. */
+ /* CHECK_LIVE_FRAME (w->frame); */
+ return w;
}
DEFUN ("windowp", Fwindowp, Swindowp, 1, 1, 0,
Lisp_Object window;
if (NILP (frame_or_window))
- window = SELECTED_FRAME ()->root_window;
+ window = FVAR (SELECTED_FRAME (), root_window);
else if (WINDOWP (frame_or_window))
- window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->root_window;
+ window = FVAR (XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window))), root_window);
else
{
CHECK_LIVE_FRAME (frame_or_window);
- window = XFRAME (frame_or_window)->root_window;
+ window = FVAR (XFRAME (frame_or_window), root_window);
}
return window;
Lisp_Object window;
if (NILP (frame_or_window))
- window = SELECTED_FRAME ()->root_window;
+ window = FVAR (SELECTED_FRAME (), root_window);
else if (WINDOWP (frame_or_window))
- window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->root_window;
+ window = FVAR (XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window))), root_window);
else
{
CHECK_LIVE_FRAME (frame_or_window);
- window = XFRAME (frame_or_window)->root_window;
+ window = FVAR (XFRAME (frame_or_window), root_window);
}
while (NILP (XWINDOW (window)->buffer))
Lisp_Object window;
if (NILP (frame_or_window))
- window = SELECTED_FRAME ()->selected_window;
+ window = FVAR (SELECTED_FRAME (), selected_window);
else if (WINDOWP (frame_or_window))
- window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->selected_window;
+ window = FVAR (XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window))),
+ selected_window);
else
{
CHECK_LIVE_FRAME (frame_or_window);
- window = XFRAME (frame_or_window)->selected_window;
+ window = FVAR (XFRAME (frame_or_window), selected_window);
}
return window;
if (EQ (frame, selected_frame))
return Fselect_window (window, norecord);
else
- return XFRAME (frame)->selected_window = window;
+ return FVAR (XFRAME (frame), selected_window) = window;
}
DEFUN ("selected-window", Fselected_window, Sselected_window, 0, 0, 0,
sf = SELECTED_FRAME ();
if (XFRAME (WINDOW_FRAME (w)) != sf)
{
- XFRAME (WINDOW_FRAME (w))->selected_window = window;
+ FVAR (XFRAME (WINDOW_FRAME (w)), selected_window) = window;
/* Use this rather than Fhandle_switch_frame
so that FRAME_FOCUS_FRAME is moved appropriately as we
move around in the state where a minibuffer in a separate
return window;
}
else
- sf->selected_window = window;
+ FVAR (sf, selected_window) = window;
/* Store the current buffer's actual point into the
old selected window. It belongs to that window,
(Lisp_Object window, Lisp_Object limit)
{
register struct window *w = decode_any_window (window);
-
w->combination_limit = limit;
-
return w->combination_limit;
}
bar exists. */
if (NILP (window)
&& tool_bar_p
- && WINDOWP (f->tool_bar_window)
- && WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window)) > 0
- && (coordinates_in_window (XWINDOW (f->tool_bar_window), x, y)
+ && WINDOWP (FVAR (f, tool_bar_window))
+ && WINDOW_TOTAL_LINES (XWINDOW (FVAR (f, tool_bar_window))) > 0
+ && (coordinates_in_window (XWINDOW (FVAR (f, tool_bar_window)), x, y)
!= ON_NOTHING))
{
*part = ON_TEXT;
- window = f->tool_bar_window;
+ window = FVAR (f, tool_bar_window);
}
return window;
(Lisp_Object frame, Lisp_Object minibuf, Lisp_Object window)
{
if (NILP (window))
- window = FRAMEP (frame) ? XFRAME (frame)->selected_window : selected_window;
+ window = FRAMEP (frame) ? FVAR (XFRAME (frame), selected_window) : selected_window;
CHECK_WINDOW (window);
if (NILP (frame))
frame = selected_frame;
void
resize_frame_windows (struct frame *f, int size, int horflag)
{
- Lisp_Object root = f->root_window;
+ Lisp_Object root = FVAR (f, root_window);
struct window *r = XWINDOW (root);
- Lisp_Object mini = f->minibuffer_window;
+ Lisp_Object mini = FVAR (f, minibuffer_window);
struct window *m;
/* new_size is the new size of the frame's root window. */
int new_size = (horflag
{
/* We lost. Delete all windows but the frame's
selected one. */
- root = f->selected_window;
+ root = FVAR (f, selected_window);
Fdelete_other_windows_internal (root, Qnil);
if (horflag)
XSETFASTINT (XWINDOW (root)->total_cols, new_size);
else
{
if (CONSP (arg))
- arg = Fcar (arg);
+ arg = XCAR (arg);
CHECK_NUMBER (arg);
window_scroll (window, XINT (arg), 0, 1);
}
is the selected window, then get the value of point from
the buffer; pointm is garbage in the selected window. */
if (EQ (window, selected_window))
- {
- p->pointm = Fmake_marker ();
- set_marker_both (p->pointm, w->buffer,
- BUF_PT (XBUFFER (w->buffer)),
- BUF_PT_BYTE (XBUFFER (w->buffer)));
- }
+ p->pointm = build_marker (XBUFFER (w->buffer),
+ BUF_PT (XBUFFER (w->buffer)),
+ BUF_PT_BYTE (XBUFFER (w->buffer)));
else
p->pointm = Fcopy_marker (w->pointm, Qnil);
XMARKER (p->pointm)->insertion_type
struct frame *f = make_initial_frame ();
XSETFRAME (selected_frame, f);
Vterminal_frame = selected_frame;
- minibuf_window = f->minibuffer_window;
- selected_window = f->selected_window;
+ minibuf_window = FVAR (f, minibuffer_window);
+ selected_window = FVAR (f, selected_window);
last_nonminibuf_frame = f;
window_initialized = 1;