along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+
+#define WINDOW_INLINE EXTERN_INLINE
+
#include <stdio.h>
#include <setjmp.h>
static EMACS_INT window_scroll_preserve_hpos;
static EMACS_INT window_scroll_preserve_vpos;
\f
+/* These setters are used only in this file, so they can be private. */
+static inline void
+wset_combination_limit (struct window *w, Lisp_Object val)
+{
+ w->combination_limit = val;
+}
+static inline void
+wset_dedicated (struct window *w, Lisp_Object val)
+{
+ w->dedicated = val;
+}
+static inline void
+wset_display_table (struct window *w, Lisp_Object val)
+{
+ w->display_table = val;
+}
+static inline void
+wset_hchild (struct window *w, Lisp_Object val)
+{
+ w->hchild = val;
+}
+static inline void
+wset_left_fringe_width (struct window *w, Lisp_Object val)
+{
+ w->left_fringe_width = val;
+}
+static inline void
+wset_left_margin_cols (struct window *w, Lisp_Object val)
+{
+ w->left_margin_cols = val;
+}
+static inline void
+wset_new_normal (struct window *w, Lisp_Object val)
+{
+ w->new_normal = val;
+}
+static inline void
+wset_new_total (struct window *w, Lisp_Object val)
+{
+ w->new_total = val;
+}
+static inline void
+wset_next_buffers (struct window *w, Lisp_Object val)
+{
+ w->next_buffers = val;
+}
+static inline void
+wset_normal_cols (struct window *w, Lisp_Object val)
+{
+ w->normal_cols = val;
+}
+static inline void
+wset_normal_lines (struct window *w, Lisp_Object val)
+{
+ w->normal_lines = val;
+}
+static inline void
+wset_parent (struct window *w, Lisp_Object val)
+{
+ w->parent = val;
+}
+static inline void
+wset_pointm (struct window *w, Lisp_Object val)
+{
+ w->pointm = val;
+}
+static inline void
+wset_prev_buffers (struct window *w, Lisp_Object val)
+{
+ w->prev_buffers = val;
+}
+static inline void
+wset_right_fringe_width (struct window *w, Lisp_Object val)
+{
+ w->right_fringe_width = val;
+}
+static inline void
+wset_right_margin_cols (struct window *w, Lisp_Object val)
+{
+ w->right_margin_cols = val;
+}
+static inline void
+wset_scroll_bar_width (struct window *w, Lisp_Object val)
+{
+ w->scroll_bar_width = val;
+}
+static inline void
+wset_start (struct window *w, Lisp_Object val)
+{
+ w->start = val;
+}
+static inline void
+wset_temslot (struct window *w, Lisp_Object val)
+{
+ w->temslot = val;
+}
+static inline void
+wset_vchild (struct window *w, Lisp_Object val)
+{
+ w->vchild = val;
+}
+static inline void
+wset_vertical_scroll_bar_type (struct window *w, Lisp_Object val)
+{
+ w->vertical_scroll_bar_type = val;
+}
+static inline void
+wset_window_parameters (struct window *w, Lisp_Object val)
+{
+ w->window_parameters = val;
+}
+
struct window *
decode_live_window (register Lisp_Object window)
{
for future use. */)
(Lisp_Object window, Lisp_Object limit)
{
- return WSET (decode_valid_window (window), combination_limit, limit);
+ wset_combination_limit (decode_valid_window (window), limit);
+ return limit;
}
DEFUN ("window-use-time", Fwindow_use_time, Swindow_use_time, 0, 1, 0,
end-trigger value is reset to nil. */)
(register Lisp_Object window, Lisp_Object value)
{
- return WSET (decode_live_window (window), redisplay_end_trigger, value);
+ wset_redisplay_end_trigger (decode_live_window (window), value);
+ return value;
}
DEFUN ("window-edges", Fwindow_edges, Swindow_edges, 0, 1, 0,
window, it also makes sure that the window is no more dedicated. */)
(Lisp_Object window, Lisp_Object flag)
{
- return WSET (decode_live_window (window), dedicated, flag);
+ wset_dedicated (decode_live_window (window), flag);
+ return flag;
}
DEFUN ("window-prev-buffers", Fwindow_prev_buffers, Swindow_prev_buffers,
window for that buffer, and POS is a window-specific point value. */)
(Lisp_Object window, Lisp_Object prev_buffers)
{
- return WSET (decode_live_window (window), prev_buffers, prev_buffers);
+ wset_prev_buffers (decode_live_window (window), prev_buffers);
+ return prev_buffers;
}
DEFUN ("window-next-buffers", Fwindow_next_buffers, Swindow_next_buffers,
NEXT-BUFFERS should be a list of buffers. */)
(Lisp_Object window, Lisp_Object next_buffers)
{
- return WSET (decode_live_window (window), next_buffers, next_buffers);
+ wset_next_buffers (decode_live_window (window), next_buffers);
+ return next_buffers;
}
DEFUN ("window-parameters", Fwindow_parameters, Swindow_parameters,
old_alist_elt = Fassq (parameter, w->window_parameters);
if (NILP (old_alist_elt))
- WSET (w, window_parameters,
- Fcons (Fcons (parameter, value), w->window_parameters));
+ wset_window_parameters
+ (w, Fcons (Fcons (parameter, value), w->window_parameters));
else
Fsetcdr (old_alist_elt, value);
return value;
WINDOW must be a live window and defaults to the selected one. */)
(register Lisp_Object window, Lisp_Object table)
{
- return WSET (decode_live_window (window), display_table, table);
+ wset_display_table (decode_live_window (window), table);
+ return table;
}
\f
/* Record info on buffer window W is displaying
if (setflag)
{
- WSET (n, left_col, o->left_col);
- WSET (n, top_line, o->top_line);
- WSET (n, total_cols, o->total_cols);
- WSET (n, total_lines, o->total_lines);
- WSET (n, normal_cols, o->normal_cols);
- WSET (o, normal_cols, make_float (1.0));
- WSET (n, normal_lines, o->normal_lines);
- WSET (o, normal_lines, make_float (1.0));
+ wset_left_col (n, o->left_col);
+ wset_top_line (n, o->top_line);
+ wset_total_cols (n, o->total_cols);
+ wset_total_lines (n, o->total_lines);
+ wset_normal_cols (n, o->normal_cols);
+ wset_normal_cols (o, make_float (1.0));
+ wset_normal_lines (n, o->normal_lines);
+ wset_normal_lines (o, make_float (1.0));
n->desired_matrix = n->current_matrix = 0;
n->vscroll = 0;
memset (&n->cursor, 0, sizeof (n->cursor));
n->phys_cursor_width = -1;
n->must_be_updated_p = 0;
n->pseudo_window_p = 0;
- WSET (n, window_end_vpos, make_number (0));
- WSET (n, window_end_pos, make_number (0));
- WSET (n, window_end_valid, Qnil);
+ wset_window_end_vpos (n, make_number (0));
+ wset_window_end_pos (n, make_number (0));
+ wset_window_end_valid (n, Qnil);
n->frozen_window_start_p = 0;
}
tem = o->next;
- WSET (n, next, tem);
+ wset_next (n, tem);
if (!NILP (tem))
- WSET (XWINDOW (tem), prev, new);
+ wset_prev (XWINDOW (tem), new);
tem = o->prev;
- WSET (n, prev, tem);
+ wset_prev (n, tem);
if (!NILP (tem))
- WSET (XWINDOW (tem), next, new);
+ wset_next (XWINDOW (tem), new);
tem = o->parent;
- WSET (n, parent, tem);
+ wset_parent (n, tem);
if (!NILP (tem))
{
if (EQ (XWINDOW (tem)->vchild, old))
- WSET (XWINDOW (tem), vchild, new);
+ wset_vchild (XWINDOW (tem), new);
if (EQ (XWINDOW (tem)->hchild, old))
- WSET (XWINDOW (tem), hchild, new);
+ wset_hchild (XWINDOW (tem), new);
}
}
assign new normal sizes. */
if (NILP (w->prev))
if (horflag)
- WSET (p, hchild, child);
+ wset_hchild (p, child);
else
- WSET (p, vchild, child);
+ wset_vchild (p, child);
else
{
- WSET (c, prev, w->prev);
- WSET (XWINDOW (w->prev), next, child);
+ wset_prev (c, w->prev);
+ wset_next (XWINDOW (w->prev), child);
}
while (c)
{
- WSET (c, parent, parent);
+ wset_parent (c, parent);
if (horflag)
- WSET (c, normal_cols,
- make_float (XFLOATINT (c->total_cols)
- / XFLOATINT (p->total_cols)));
+ wset_normal_cols (c,
+ make_float (XFLOATINT (c->total_cols)
+ / XFLOATINT (p->total_cols)));
else
- WSET (c, normal_lines,
- make_float (XFLOATINT (c->total_lines)
- / XFLOATINT (p->total_lines)));
+ wset_normal_lines (c,
+ make_float (XFLOATINT (c->total_lines)
+ / XFLOATINT (p->total_lines)));
if (NILP (c->next))
{
if (!NILP (w->next))
{
- WSET (c, next, w->next);
- WSET (XWINDOW (c->next), prev, child);
+ wset_next (c, w->next);
+ wset_prev (XWINDOW (c->next), child);
}
c = 0;
}
/* WINDOW can be deleted now. */
- WSET (w, vchild, Qnil);
- WSET (w, hchild, Qnil);
+ wset_vchild (w, Qnil);
+ wset_hchild (w, Qnil);
}
}
}
if (EQ (w->buffer, obj))
{
/* Undedicate WINDOW. */
- WSET (w, dedicated, Qnil);
+ wset_dedicated (w, Qnil);
/* Make WINDOW show the buffer returned by
other_buffer_safely, don't run any hooks. */
set_window_buffer
/* Resize child windows vertically. */
XSETINT (delta, XINT (r->total_lines)
- XINT (w->total_lines));
- WSET (w, top_line, r->top_line);
+ wset_top_line (w, r->top_line);
resize_root_window (window, delta, Qnil, Qnil);
if (window_resize_check (w, 0))
window_resize_apply (w, 0);
/* Resize child windows horizontally. */
if (!resize_failed)
{
- WSET (w, left_col, r->left_col);
+ wset_left_col (w, r->left_col);
XSETINT (delta,
XINT (r->total_cols) - XINT (w->total_cols));
- WSET (w, left_col, r->left_col);
+ wset_left_col (w, r->left_col);
resize_root_window (window, delta, Qt, Qnil);
if (window_resize_check (w, 1))
window_resize_apply (w, 1);
{
sibling = w->prev;
s = XWINDOW (sibling);
- WSET (s, next, w->next);
+ wset_next (s, w->next);
if (!NILP (s->next))
- WSET (XWINDOW (s->next), prev, sibling);
+ wset_prev (XWINDOW (s->next), sibling);
}
else
/* Get SIBLING below (on the right of) WINDOW. */
{
sibling = w->next;
s = XWINDOW (sibling);
- WSET (s, prev, Qnil);
+ wset_prev (s, Qnil);
if (!NILP (XWINDOW (w->parent)->vchild))
- WSET (XWINDOW (w->parent), vchild, sibling);
+ wset_vchild (XWINDOW (w->parent), sibling);
else
- WSET (XWINDOW (w->parent), hchild, sibling);
+ wset_hchild (XWINDOW (w->parent), sibling);
}
/* Delete ROOT and all child windows of ROOT. */
if (!NILP (r->vchild))
{
delete_all_child_windows (r->vchild);
- WSET (r, vchild, Qnil);
+ wset_vchild (r, Qnil);
}
else if (!NILP (r->hchild))
{
delete_all_child_windows (r->hchild);
- WSET (r, hchild, Qnil);
+ wset_hchild (r, Qnil);
}
replace_window (root, window, 1);
pos = *vmotion (startpos, -top, w);
set_marker_both (w->start, w->buffer, pos.bufpos, pos.bytepos);
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
w->start_at_line_beg = (pos.bytepos == BEGV_BYTE
|| FETCH_BYTE (pos.bytepos - 1) == '\n');
/* We need to do this, so that the window-scroll-functions
{
if (WINDOW_LEFT_MARGIN_COLS (w) > 0)
{
- WSET (w, left_margin_cols, make_number (margin_cols / 2));
- WSET (w, right_margin_cols, make_number (margin_cols / 2));
+ wset_left_margin_cols (w, make_number (margin_cols / 2));
+ wset_right_margin_cols (w, make_number (margin_cols / 2));
}
else
- WSET (w, right_margin_cols, make_number (margin_cols));
+ wset_right_margin_cols (w, make_number (margin_cols));
}
else
- WSET (w, left_margin_cols, make_number (margin_cols));
+ wset_left_margin_cols (w, make_number (margin_cols));
return 1;
}
\f
ptrdiff_t count = SPECPDL_INDEX ();
int samebuf = EQ (buffer, w->buffer);
- WSET (w, buffer, buffer);
+ wset_buffer (w, buffer);
if (EQ (window, selected_window))
BSET (b, last_selected_window, window);
BSET (b, display_count, make_number (XINT (BVAR (b, display_count)) + 1));
BSET (b, display_time, Fcurrent_time ());
- WSET (w, window_end_pos, make_number (0));
- WSET (w, window_end_vpos, make_number (0));
+ wset_window_end_pos (w, make_number (0));
+ wset_window_end_vpos (w, make_number (0));
memset (&w->last_cursor, 0, sizeof w->last_cursor);
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
if (!(keep_margins_p && samebuf))
{ /* If we're not actually changing the buffer, don't reset hscroll and
vscroll. This case happens for example when called from
Lisp_Object save_left = w->left_margin_cols;
Lisp_Object save_right = w->right_margin_cols;
- WSET (w, left_margin_cols, Qnil);
- WSET (w, right_margin_cols, Qnil);
+ wset_left_margin_cols (w, Qnil);
+ wset_right_margin_cols (w, Qnil);
Fset_window_fringes (window,
BVAR (b, left_fringe_width), BVAR (b, right_fringe_width),
BVAR (b, scroll_bar_width),
BVAR (b, vertical_scroll_bar_type), Qnil);
- WSET (w, left_margin_cols, save_left);
- WSET (w, right_margin_cols, save_right);
+ wset_left_margin_cols (w, save_left);
+ wset_right_margin_cols (w, save_right);
Fset_window_margins (window,
BVAR (b, left_margin_cols), BVAR (b, right_margin_cols));
else
/* WINDOW is weakly dedicated to its buffer, reset
dedication. */
- WSET (w, dedicated, Qnil);
+ wset_dedicated (w, Qnil);
call1 (Qrecord_window_buffer, window);
}
replace_window (window, parent, 1);
- WSET (o, next, Qnil);
- WSET (o, prev, Qnil);
- WSET (o, parent, parent);
+ wset_next (o, Qnil);
+ wset_prev (o, Qnil);
+ wset_parent (o, parent);
- WSET (p, hchild, horflag ? window : Qnil);
- WSET (p, vchild, horflag ? Qnil : window);
- WSET (p, start, Qnil);
- WSET (p, pointm, Qnil);
- WSET (p, buffer, Qnil);
- WSET (p, combination_limit, Qnil);
- WSET (p, window_parameters, Qnil);
+ wset_hchild (p, horflag ? window : Qnil);
+ wset_vchild (p, horflag ? Qnil : window);
+ wset_start (p, Qnil);
+ wset_pointm (p, Qnil);
+ wset_buffer (p, Qnil);
+ wset_combination_limit (p, Qnil);
+ wset_window_parameters (p, Qnil);
}
/* Make new window from scratch. */
w = allocate_window ();
/* Initialize Lisp data. Note that allocate_window initializes all
Lisp data to nil, so do it only for slots which should not be nil. */
- WSET (w, left_col, make_number (0));
- WSET (w, top_line, make_number (0));
- WSET (w, total_lines, make_number (0));
- WSET (w, total_cols, make_number (0));
- WSET (w, normal_lines, make_float (1.0));
- WSET (w, normal_cols, make_float (1.0));
- WSET (w, new_total, make_number (0));
- WSET (w, new_normal, make_number (0));
- WSET (w, start, Fmake_marker ());
- WSET (w, pointm, Fmake_marker ());
- WSET (w, vertical_scroll_bar_type, Qt);
- WSET (w, window_end_pos, make_number (0));
- WSET (w, window_end_vpos, make_number (0));
+ wset_left_col (w, make_number (0));
+ wset_top_line (w, make_number (0));
+ wset_total_lines (w, make_number (0));
+ wset_total_cols (w, make_number (0));
+ wset_normal_lines (w, make_float (1.0));
+ wset_normal_cols (w, make_float (1.0));
+ wset_new_total (w, make_number (0));
+ wset_new_normal (w, make_number (0));
+ wset_start (w, Fmake_marker ());
+ wset_pointm (w, Fmake_marker ());
+ wset_vertical_scroll_bar_type (w, Qt);
+ wset_window_end_pos (w, make_number (0));
+ wset_window_end_vpos (w, make_number (0));
/* Initialize non-Lisp data. Note that allocate_window zeroes out all
non-Lisp data, so do it only for slots which should not be zero. */
CHECK_NUMBER (size);
if (NILP (add))
- WSET (w, new_total, size);
+ wset_new_total (w, size);
else
- WSET (w, new_total, make_number (XINT (w->new_total) + XINT (size)));
+ wset_new_total (w, make_number (XINT (w->new_total) + XINT (size)));
return w->new_total;
}
Note: This function does not operate on any child windows of WINDOW. */)
(Lisp_Object window, Lisp_Object size)
{
- return WSET (decode_valid_window (window), new_normal, size);
+ wset_new_normal (decode_valid_window (window), size);
+ return size;
}
/* Return 1 if setting w->total_lines (w->total_cols if HORFLAG is
parent window has been set *before*. */
if (horflag)
{
- WSET (w, total_cols, w->new_total);
+ wset_total_cols (w, w->new_total);
if (NUMBERP (w->new_normal))
- WSET (w, normal_cols, w->new_normal);
+ wset_normal_cols (w, w->new_normal);
pos = XINT (w->left_col);
}
else
{
- WSET (w, total_lines, w->new_total);
+ wset_total_lines (w, w->new_total);
if (NUMBERP (w->new_normal))
- WSET (w, normal_lines, w->new_normal);
+ wset_normal_lines (w, w->new_normal);
pos = XINT (w->top_line);
}
while (c)
{
if (horflag)
- WSET (c, left_col, make_number (pos));
+ wset_left_col (c, make_number (pos));
else
- WSET (c, top_line, make_number (pos));
+ wset_top_line (c, make_number (pos));
window_resize_apply (c, horflag);
if (!horflag)
pos = pos + XINT (c->total_lines);
while (c)
{
if (horflag)
- WSET (c, left_col, make_number (pos));
+ wset_left_col (c, make_number (pos));
else
- WSET (c, top_line, make_number (pos));
+ wset_top_line (c, make_number (pos));
window_resize_apply (c, horflag);
if (horflag)
pos = pos + XINT (c->total_cols);
- ((FRAME_HAS_MINIBUF_P (f) && !FRAME_MINIBUF_ONLY_P (f))
? 1 : 0)));
- WSET (r, top_line, make_number (FRAME_TOP_MARGIN (f)));
+ wset_top_line (r, make_number (FRAME_TOP_MARGIN (f)));
if (NILP (r->vchild) && NILP (r->hchild))
/* For a leaf root window just set the size. */
if (horflag)
- WSET (r, total_cols, make_number (new_size));
+ wset_total_cols (r, make_number (new_size));
else
- WSET (r, total_lines, make_number (new_size));
+ wset_total_lines (r, make_number (new_size));
else
{
/* old_size is the old size of the frame's root window. */
root = f->selected_window;
Fdelete_other_windows_internal (root, Qnil);
if (horflag)
- WSET (XWINDOW (root), total_cols, make_number (new_size));
+ wset_total_cols (XWINDOW (root), make_number (new_size));
else
- WSET (XWINDOW (root), total_lines, make_number (new_size));
+ wset_total_lines (XWINDOW (root), make_number (new_size));
}
}
}
{
m = XWINDOW (mini);
if (horflag)
- WSET (m, total_cols, make_number (size));
+ wset_total_cols (m, make_number (size));
else
{
/* Are we sure we always want 1 line here? */
- WSET (m, total_lines, make_number (1));
- WSET (m, top_line,
- make_number (XINT (r->top_line) + XINT (r->total_lines)));
+ wset_total_lines (m, make_number (1));
+ wset_top_line
+ (m, make_number (XINT (r->top_line) + XINT (r->total_lines)));
}
}
}
{
p = XWINDOW (o->parent);
/* Temporarily pretend we split the parent window. */
- WSET (p, new_total,
- make_number (XINT (horflag ? p->total_cols : p->total_lines)
+ wset_new_total
+ (p, make_number (XINT (horflag ? p->total_cols : p->total_lines)
- XINT (total_size)));
if (!window_resize_check (p, horflag))
error ("Window sizes don't fit");
else
/* Undo the temporary pretension. */
- WSET (p, new_total,
- horflag ? p->total_cols : p->total_lines);
+ wset_new_total (p, horflag ? p->total_cols : p->total_lines);
}
else
{
p = XWINDOW (o->parent);
/* Store value of `window-combination-limit' in new parent's
combination_limit slot. */
- WSET (p, combination_limit, Vwindow_combination_limit);
+ wset_combination_limit (p, Vwindow_combination_limit);
/* These get applied below. */
- WSET (p, new_total, horflag ? o->total_cols : o->total_lines);
- WSET (p, new_normal, new_normal);
+ wset_new_total (p, horflag ? o->total_cols : o->total_lines);
+ wset_new_normal (p, new_normal);
}
else
p = XWINDOW (o->parent);
FRAME_WINDOW_SIZES_CHANGED (f) = 1;
new = make_window ();
n = XWINDOW (new);
- WSET (n, frame, frame);
- WSET (n, parent, o->parent);
- WSET (n, vchild, Qnil);
- WSET (n, hchild, Qnil);
+ wset_frame (n, frame);
+ wset_parent (n, o->parent);
+ wset_vchild (n, Qnil);
+ wset_hchild (n, Qnil);
if (EQ (side, Qabove) || EQ (side, Qleft))
{
- WSET (n, prev, o->prev);
+ wset_prev (n, o->prev);
if (NILP (n->prev))
if (horflag)
- WSET (p, hchild, new);
+ wset_hchild (p, new);
else
- WSET (p, vchild, new);
+ wset_vchild (p, new);
else
- WSET (XWINDOW (n->prev), next, new);
- WSET (n, next, old);
- WSET (o, prev, new);
+ wset_next (XWINDOW (n->prev), new);
+ wset_next (n, old);
+ wset_prev (o, new);
}
else
{
- WSET (n, next, o->next);
+ wset_next (n, o->next);
if (!NILP (n->next))
- WSET (XWINDOW (n->next), prev, new);
- WSET (n, prev, old);
- WSET (o, next, new);
+ wset_prev (XWINDOW (n->next), new);
+ wset_prev (n, old);
+ wset_next (o, new);
}
- WSET (n, buffer, Qt);
- WSET (n, window_end_valid, Qnil);
+ wset_buffer (n, Qt);
+ wset_window_end_valid (n, Qnil);
memset (&n->last_cursor, 0, sizeof n->last_cursor);
/* Get special geometry settings from reference window. */
- WSET (n, left_margin_cols, r->left_margin_cols);
- WSET (n, right_margin_cols, r->right_margin_cols);
- WSET (n, left_fringe_width, r->left_fringe_width);
- WSET (n, right_fringe_width, r->right_fringe_width);
+ wset_left_margin_cols (n, r->left_margin_cols);
+ wset_right_margin_cols (n, r->right_margin_cols);
+ wset_left_fringe_width (n, r->left_fringe_width);
+ wset_right_fringe_width (n, r->right_fringe_width);
n->fringes_outside_margins = r->fringes_outside_margins;
- WSET (n, scroll_bar_width, r->scroll_bar_width);
- WSET (n, vertical_scroll_bar_type, r->vertical_scroll_bar_type);
+ wset_scroll_bar_width (n, r->scroll_bar_width);
+ wset_vertical_scroll_bar_type (n, r->vertical_scroll_bar_type);
/* Directly assign orthogonal coordinates and sizes. */
if (horflag)
{
- WSET (n, top_line, o->top_line);
- WSET (n, total_lines, o->total_lines);
+ wset_top_line (n, o->top_line);
+ wset_total_lines (n, o->total_lines);
}
else
{
- WSET (n, left_col, o->left_col);
- WSET (n, total_cols, o->total_cols);
+ wset_left_col (n, o->left_col);
+ wset_total_cols (n, o->total_cols);
}
/* Iso-coordinates and sizes are assigned by window_resize_apply,
get them ready here. */
- WSET (n, new_total, total_size);
- WSET (n, new_normal, normal_size);
+ wset_new_total (n, total_size);
+ wset_new_normal (n, normal_size);
BLOCK_INPUT;
window_resize_apply (p, horflag);
before_sibling = 1;
sibling = w->next;
s = XWINDOW (sibling);
- WSET (s, prev, Qnil);
+ wset_prev (s, Qnil);
if (horflag)
- WSET (p, hchild, sibling);
+ wset_hchild (p, sibling);
else
- WSET (p, vchild, sibling);
+ wset_vchild (p, sibling);
}
else
/* Get SIBLING above (on the left of) WINDOW. */
{
sibling = w->prev;
s = XWINDOW (sibling);
- WSET (s, next, w->next);
+ wset_next (s, w->next);
if (!NILP (s->next))
- WSET (XWINDOW (s->next), prev, sibling);
+ wset_prev (XWINDOW (s->next), sibling);
}
if (window_resize_check (r, horflag)
Vwindow_list = Qnil;
FRAME_WINDOW_SIZES_CHANGED (f) = 1;
- WSET (w, next, Qnil); /* Don't delete w->next too. */
+ wset_next (w, Qnil); /* Don't delete w->next too. */
free_window_matrices (w);
if (!NILP (w->vchild))
{
delete_all_child_windows (w->vchild);
- WSET (w, vchild, Qnil);
+ wset_vchild (w, Qnil);
}
else if (!NILP (w->hchild))
{
delete_all_child_windows (w->hchild);
- WSET (w, hchild, Qnil);
+ wset_hchild (w, Qnil);
}
else if (!NILP (w->buffer))
{
unshow_buffer (w);
unchain_marker (XMARKER (w->pointm));
unchain_marker (XMARKER (w->start));
- WSET (w, buffer, Qnil);
+ wset_buffer (w, Qnil);
}
if (NILP (s->prev) && NILP (s->next))
replace_window (parent, sibling, 0);
/* Have SIBLING inherit the following three slot values from
PARENT (the combination_limit slot is not inherited). */
- WSET (s, normal_cols, p->normal_cols);
- WSET (s, normal_lines, p->normal_lines);
+ wset_normal_cols (s, p->normal_cols);
+ wset_normal_lines (s, p->normal_lines);
/* Mark PARENT as deleted. */
- WSET (p, vchild, Qnil);
- WSET (p, hchild, Qnil);
+ wset_vchild (p, Qnil);
+ wset_hchild (p, Qnil);
/* Try to merge SIBLING into its new parent. */
recombine_windows (sibling);
}
{
if (before_sibling)
{
- WSET (s, prev, window);
+ wset_prev (s, window);
if (horflag)
- WSET (p, hchild, window);
+ wset_hchild (p, window);
else
- WSET (p, vchild, window);
+ wset_vchild (p, window);
}
else
{
- WSET (s, next, window);
+ wset_next (s, window);
if (!NILP (w->next))
- WSET (XWINDOW (w->next), prev, window);
+ wset_prev (XWINDOW (w->next), window);
}
error ("Deletion failed");
}
window_resize_apply (r, 0);
/* Grow the mini-window. */
- WSET (w, top_line,
- make_number (XFASTINT (r->top_line) + XFASTINT (r->total_lines)));
- WSET (w, total_lines,
- make_number (XFASTINT (w->total_lines) - XINT (value)));
+ wset_top_line
+ (w, make_number (XFASTINT (r->top_line) + XFASTINT (r->total_lines)));
+ wset_total_lines
+ (w, make_number (XFASTINT (w->total_lines) - XINT (value)));
w->last_modified = 0;
w->last_overlay_modified = 0;
window_resize_apply (r, 0);
/* Shrink the mini-window. */
- WSET (w, top_line,
- make_number (XFASTINT (r->top_line) + XFASTINT (r->total_lines)));
- WSET (w, total_lines, make_number (1));
+ wset_top_line (w, make_number (XFASTINT (r->top_line)
+ + XFASTINT (r->total_lines)));
+ wset_total_lines (w, make_number (1));
w->last_modified = 0;
w->last_overlay_modified = 0;
BLOCK_INPUT;
window_resize_apply (r, 0);
- WSET (w, total_lines, w->new_total);
- WSET (w, top_line,
- make_number (XINT (r->top_line) + XINT (r->total_lines)));
+ wset_total_lines (w, w->new_total);
+ wset_top_line (w, make_number (XINT (r->top_line)
+ + XINT (r->total_lines)));
windows_or_buffers_changed++;
FRAME_WINDOW_SIZES_CHANGED (f) = 1;
/* Set the new window start. */
set_marker_both (w->start, w->buffer, charpos, bytepos);
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
w->optional_new_start = 1;
p = SAVED_WINDOW_N (saved_windows, k);
window = p->window;
w = XWINDOW (window);
- WSET (w, next, Qnil);
+ wset_next (w, Qnil);
if (!NILP (p->parent))
- WSET (w, parent, SAVED_WINDOW_N
- (saved_windows, XFASTINT (p->parent))->window);
+ wset_parent
+ (w, SAVED_WINDOW_N (saved_windows, XFASTINT (p->parent))->window);
else
- WSET (w, parent, Qnil);
+ wset_parent (w, Qnil);
if (!NILP (p->prev))
{
- WSET (w, prev, SAVED_WINDOW_N
- (saved_windows, XFASTINT (p->prev))->window);
- WSET (XWINDOW (w->prev), next, p->window);
+ wset_prev
+ (w, SAVED_WINDOW_N (saved_windows, XFASTINT (p->prev))->window);
+ wset_next (XWINDOW (w->prev), p->window);
}
else
{
- WSET (w, prev, Qnil);
+ wset_prev (w, Qnil);
if (!NILP (w->parent))
{
if (EQ (p->total_cols, XWINDOW (w->parent)->total_cols))
{
- WSET (XWINDOW (w->parent), vchild, p->window);
- WSET (XWINDOW (w->parent), hchild, Qnil);
+ wset_vchild (XWINDOW (w->parent), p->window);
+ wset_hchild (XWINDOW (w->parent), Qnil);
}
else
{
- WSET (XWINDOW (w->parent), hchild, p->window);
- WSET (XWINDOW (w->parent), vchild, Qnil);
+ wset_hchild (XWINDOW (w->parent), p->window);
+ wset_vchild (XWINDOW (w->parent), Qnil);
}
}
}
/* If we squirreled away the buffer in the window's height,
restore it now. */
if (BUFFERP (w->total_lines))
- WSET (w, buffer, w->total_lines);
- WSET (w, left_col, p->left_col);
- WSET (w, top_line, p->top_line);
- WSET (w, total_cols, p->total_cols);
- WSET (w, total_lines, p->total_lines);
- WSET (w, normal_cols, p->normal_cols);
- WSET (w, normal_lines, p->normal_lines);
+ wset_buffer (w, w->total_lines);
+ wset_left_col (w, p->left_col);
+ wset_top_line (w, p->top_line);
+ wset_total_cols (w, p->total_cols);
+ wset_total_lines (w, p->total_lines);
+ wset_normal_cols (w, p->normal_cols);
+ wset_normal_lines (w, p->normal_lines);
w->hscroll = XFASTINT (p->hscroll);
w->min_hscroll = XFASTINT (p->min_hscroll);
- WSET (w, display_table, p->display_table);
- WSET (w, left_margin_cols, p->left_margin_cols);
- WSET (w, right_margin_cols, p->right_margin_cols);
- WSET (w, left_fringe_width, p->left_fringe_width);
- WSET (w, right_fringe_width, p->right_fringe_width);
+ wset_display_table (w, p->display_table);
+ wset_left_margin_cols (w, p->left_margin_cols);
+ wset_right_margin_cols (w, p->right_margin_cols);
+ wset_left_fringe_width (w, p->left_fringe_width);
+ wset_right_fringe_width (w, p->right_fringe_width);
w->fringes_outside_margins = !NILP (p->fringes_outside_margins);
- WSET (w, scroll_bar_width, p->scroll_bar_width);
- WSET (w, vertical_scroll_bar_type, p->vertical_scroll_bar_type);
- WSET (w, dedicated, p->dedicated);
- WSET (w, combination_limit, p->combination_limit);
+ wset_scroll_bar_width (w, p->scroll_bar_width);
+ wset_vertical_scroll_bar_type (w, p->vertical_scroll_bar_type);
+ wset_dedicated (w, p->dedicated);
+ wset_combination_limit (w, p->combination_limit);
/* Restore any window parameters that have been saved.
Parameters that have not been saved are left alone. */
for (tem = p->window_parameters; CONSP (tem); tem = XCDR (tem))
/* Reinstall the saved buffer and pointers into it. */
if (NILP (p->buffer))
/* An internal window. */
- WSET (w, buffer, p->buffer);
+ wset_buffer (w, p->buffer);
else if (!NILP (BVAR (XBUFFER (p->buffer), name)))
/* If saved buffer is alive, install it. */
{
- WSET (w, buffer, p->buffer);
- w->start_at_line_beg = !NILP (p->start_at_line_beg);
- set_marker_restricted (w->start, p->start, w->buffer);
- set_marker_restricted (w->pointm, p->pointm,
- w->buffer);
- Fset_marker (BVAR (XBUFFER (w->buffer), mark),
- p->mark, w->buffer);
-
- /* As documented in Fcurrent_window_configuration, don't
- restore the location of point in the buffer which was
- current when the window configuration was recorded. */
- if (!EQ (p->buffer, new_current_buffer)
- && XBUFFER (p->buffer) == current_buffer)
- Fgoto_char (w->pointm);
+ wset_buffer (w, p->buffer);
+ w->start_at_line_beg = !NILP (p->start_at_line_beg);
+ set_marker_restricted (w->start, p->start, w->buffer);
+ set_marker_restricted (w->pointm, p->pointm,
+ w->buffer);
+ Fset_marker (BVAR (XBUFFER (w->buffer), mark),
+ p->mark, w->buffer);
+
+ /* As documented in Fcurrent_window_configuration, don't
+ restore the location of point in the buffer which was
+ current when the window configuration was recorded. */
+ if (!EQ (p->buffer, new_current_buffer)
+ && XBUFFER (p->buffer) == current_buffer)
+ Fgoto_char (w->pointm);
}
else if (!NILP (w->buffer)
&& !NILP (BVAR (XBUFFER (w->buffer), name)))
else if (STRINGP (auto_buffer_name =
Fwindow_parameter (window, Qauto_buffer_name))
&& SCHARS (auto_buffer_name) != 0
- && !NILP (WSET (w, buffer, Fget_buffer_create (auto_buffer_name))))
+ && (wset_buffer (w, Fget_buffer_create (auto_buffer_name)),
+ !NILP (w->buffer)))
{
set_marker_restricted (w->start,
make_number (0), w->buffer);
avoid showing an unimportant buffer and, if necessary, to
recreate *scratch* in the course (part of Juanma's bs-show
scenario from March 2011). */
- WSET (w, buffer, other_buffer_safely (Fcurrent_buffer ()));
+ wset_buffer (w, other_buffer_safely (Fcurrent_buffer ()));
/* This will set the markers to beginning of visible
range. */
set_marker_restricted (w->start,
/* Record this window as dead. */
dead_windows = Fcons (window, dead_windows);
/* Make sure window is no more dedicated. */
- WSET (w, dedicated, Qnil);
+ wset_dedicated (w, Qnil);
}
}
/* Delete WINDOW's siblings (we traverse postorderly). */
delete_all_child_windows (w->next);
- WSET (w, total_lines, w->buffer); /* See Fset_window_configuration for excuse. */
+ /* See Fset_window_configuration for excuse. */
+ wset_total_lines (w, w->buffer);
if (!NILP (w->vchild))
{
delete_all_child_windows (w->vchild);
- WSET (w, vchild, Qnil);
+ wset_vchild (w, Qnil);
}
else if (!NILP (w->hchild))
{
delete_all_child_windows (w->hchild);
- WSET (w, hchild, Qnil);
+ wset_hchild (w, Qnil);
}
else if (!NILP (w->buffer))
{
unshow_buffer (w);
unchain_marker (XMARKER (w->pointm));
unchain_marker (XMARKER (w->start));
- WSET (w, buffer, Qnil);
+ wset_buffer (w, Qnil);
}
Vwindow_list = Qnil;
p = SAVED_WINDOW_N (vector, i);
w = XWINDOW (window);
- WSET (w, temslot, make_number (i)); i++;
+ wset_temslot (w, make_number (i)); i++;
p->window = window;
p->buffer = w->buffer;
p->left_col = w->left_col;
if (!EQ (w->left_margin_cols, left_width)
|| !EQ (w->right_margin_cols, right_width))
{
- WSET (w, left_margin_cols, left_width);
- WSET (w, right_margin_cols, right_width);
+ wset_left_margin_cols (w, left_width);
+ wset_right_margin_cols (w, right_width);
adjust_window_margins (w);
|| !EQ (w->right_fringe_width, right_width)
|| w->fringes_outside_margins != outside))
{
- WSET (w, left_fringe_width, left_width);
- WSET (w, right_fringe_width, right_width);
+ wset_left_fringe_width (w, left_width);
+ wset_right_fringe_width (w, right_width);
w->fringes_outside_margins = outside;
adjust_window_margins (w);
clear_glyph_matrix (w->current_matrix);
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
++windows_or_buffers_changed;
adjust_glyphs (XFRAME (WINDOW_FRAME (w)));
if (!EQ (w->scroll_bar_width, width)
|| !EQ (w->vertical_scroll_bar_type, vertical_type))
{
- WSET (w, scroll_bar_width, width);
- WSET (w, vertical_scroll_bar_type, vertical_type);
+ wset_scroll_bar_width (w, width);
+ wset_vertical_scroll_bar_type (w, vertical_type);
adjust_window_margins (w);
clear_glyph_matrix (w->current_matrix);
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
++windows_or_buffers_changed;
adjust_glyphs (XFRAME (WINDOW_FRAME (w)));
static Lisp_Object Qmargin, Qpointer;
static Lisp_Object Qline_height;
+/* These setters are used only in this file, so they can be private. */
+static inline void
+wset_base_line_number (struct window *w, Lisp_Object val)
+{
+ w->base_line_number = val;
+}
+static inline void
+wset_base_line_pos (struct window *w, Lisp_Object val)
+{
+ w->base_line_pos = val;
+}
+static inline void
+wset_column_number_displayed (struct window *w, Lisp_Object val)
+{
+ w->column_number_displayed = val;
+}
+static inline void
+wset_region_showing (struct window *w, Lisp_Object val)
+{
+ w->region_showing = val;
+}
+
#ifdef HAVE_WINDOW_SYSTEM
/* Test if overflow newline into fringe. Called with iterator IT
/* Since we are *trying* to run these functions, don't try to run
them again, even if they get an error. */
- WSET (it->w, redisplay_end_trigger, Qnil);
+ wset_redisplay_end_trigger (it->w, Qnil);
Frun_hook_with_args (3, args);
/* Notice if it changed the face of the character we are on. */
set_buffer_internal_1 (XBUFFER (buffer));
if (w)
{
- WSET (w, buffer, buffer);
+ wset_buffer (w, buffer);
set_marker_both (w->pointm, buffer, BEG, BEG_BYTE);
}
charpos = AREF (vector, 5);
bytepos = AREF (vector, 6);
- WSET (w, buffer, buffer);
+ wset_buffer (w, buffer);
set_marker_both (w->pointm, buffer,
XFASTINT (charpos), XFASTINT (bytepos));
}
if ((it.glyph_row - 1)->displays_text_p)
{
if (XFASTINT (w->window_end_vpos) < this_line_vpos)
- WSET (w, window_end_vpos, make_number (this_line_vpos));
+ wset_window_end_vpos (w, make_number (this_line_vpos));
}
else if (XFASTINT (w->window_end_vpos) == this_line_vpos
&& this_line_vpos > 0)
- WSET (w, window_end_vpos, make_number (this_line_vpos - 1));
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_vpos (w, make_number (this_line_vpos - 1));
+ wset_window_end_valid (w, Qnil);
/* Update hint: No need to try to scroll in update_window. */
w->desired_matrix->no_scrolling_p = 1;
if (accurate_p)
{
- WSET (w, window_end_valid, w->buffer);
+ wset_window_end_valid (w, w->buffer);
w->update_mode_line = 0;
}
}
if (!just_this_one_p
|| current_buffer->clip_changed
|| BEG_UNCHANGED < CHARPOS (startp))
- WSET (w, base_line_number, Qnil);
+ wset_base_line_number (w, Qnil);
/* If cursor ends up on a partially visible line,
treat that as being off the bottom of the screen. */
if (XMARKER (w->start)->buffer == current_buffer)
compute_window_start_on_continuation_line (w);
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
}
/* Some sanity checks. */
w->force_start = 0;
w->vscroll = 0;
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
/* Forget any recorded base line for line number display. */
if (!buffer_unchanged_p)
- WSET (w, base_line_number, Qnil);
+ wset_base_line_number (w, Qnil);
/* Redisplay the mode line. Select the buffer properly for that.
Also, run the hook window-scroll-functions
|| current_buffer->clip_changed
|| BEG_UNCHANGED < CHARPOS (startp))
/* Forget any recorded base line for line number display. */
- WSET (w, base_line_number, Qnil);
+ wset_base_line_number (w, Qnil);
if (!cursor_row_fully_visible_p (w, 1, 0))
{
/* Forget any previously recorded base line for line number display. */
if (!buffer_unchanged_p)
- WSET (w, base_line_number, Qnil);
+ wset_base_line_number (w, Qnil);
/* Determine the window start relative to point. */
init_iterator (&it, w, PT, PT_BYTE, NULL, DEFAULT_FACE_ID);
if (!line_number_displayed
&& !BUFFERP (w->base_line_pos))
{
- WSET (w, base_line_pos, Qnil);
- WSET (w, base_line_number, Qnil);
+ wset_base_line_pos (w, Qnil);
+ wset_base_line_number (w, Qnil);
}
finish_menu_bars:
eassert (MATRIX_ROW_DISPLAYS_TEXT_P (last_text_row));
w->window_end_bytepos
= Z_BYTE - MATRIX_ROW_END_BYTEPOS (last_text_row);
- WSET (w, window_end_pos,
- make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row)));
- WSET (w, window_end_vpos,
- make_number (MATRIX_ROW_VPOS (last_text_row, w->desired_matrix)));
+ wset_window_end_pos
+ (w, make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row)));
+ wset_window_end_vpos
+ (w, make_number (MATRIX_ROW_VPOS (last_text_row, w->desired_matrix)));
eassert
(MATRIX_ROW (w->desired_matrix,
XFASTINT (w->window_end_vpos))->displays_text_p);
else
{
w->window_end_bytepos = Z_BYTE - ZV_BYTE;
- WSET (w, window_end_pos, make_number (Z - ZV));
- WSET (w, window_end_vpos, make_number (0));
+ wset_window_end_pos (w, make_number (Z - ZV));
+ wset_window_end_vpos (w, make_number (0));
}
/* But that is not valid info until redisplay finishes. */
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
return 1;
}
{
w->window_end_bytepos
= Z_BYTE - MATRIX_ROW_END_BYTEPOS (last_reused_text_row);
- WSET (w, window_end_pos,
- make_number (Z - MATRIX_ROW_END_CHARPOS (last_reused_text_row)));
- WSET (w, window_end_vpos,
- make_number (MATRIX_ROW_VPOS (last_reused_text_row, w->current_matrix)));
+ wset_window_end_pos
+ (w, make_number (Z
+ - MATRIX_ROW_END_CHARPOS (last_reused_text_row)));
+ wset_window_end_vpos
+ (w, make_number (MATRIX_ROW_VPOS (last_reused_text_row,
+ w->current_matrix)));
}
else if (last_text_row)
{
w->window_end_bytepos
= Z_BYTE - MATRIX_ROW_END_BYTEPOS (last_text_row);
- WSET (w, window_end_pos,
- make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row)));
- WSET (w, window_end_vpos,
- make_number (MATRIX_ROW_VPOS (last_text_row, w->desired_matrix)));
+ wset_window_end_pos
+ (w, make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row)));
+ wset_window_end_vpos
+ (w, make_number (MATRIX_ROW_VPOS (last_text_row,
+ w->desired_matrix)));
}
else
{
/* This window must be completely empty. */
w->window_end_bytepos = Z_BYTE - ZV_BYTE;
- WSET (w, window_end_pos, make_number (Z - ZV));
- WSET (w, window_end_vpos, make_number (0));
+ wset_window_end_pos (w, make_number (Z - ZV));
+ wset_window_end_vpos (w, make_number (0));
}
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
/* Update hint: don't try scrolling again in update_window. */
w->desired_matrix->no_scrolling_p = 1;
{
w->window_end_bytepos
= Z_BYTE - MATRIX_ROW_END_BYTEPOS (last_text_row);
- WSET (w, window_end_pos,
- make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row)));
- WSET (w, window_end_vpos,
- make_number (MATRIX_ROW_VPOS (last_text_row, w->desired_matrix)));
+ wset_window_end_pos
+ (w, make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row)));
+ wset_window_end_vpos
+ (w, make_number (MATRIX_ROW_VPOS (last_text_row,
+ w->desired_matrix)));
}
else
{
- WSET (w, window_end_vpos,
- make_number (XFASTINT (w->window_end_vpos) - nrows_scrolled));
+ wset_window_end_vpos
+ (w, make_number (XFASTINT (w->window_end_vpos) - nrows_scrolled));
}
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
w->desired_matrix->no_scrolling_p = 1;
#ifdef GLYPH_DEBUG
{
/* We have to compute the window end anew since text
could have been added/removed after it. */
- WSET (w, window_end_pos,
- make_number (Z - MATRIX_ROW_END_CHARPOS (row)));
+ wset_window_end_pos
+ (w, make_number (Z - MATRIX_ROW_END_CHARPOS (row)));
w->window_end_bytepos
= Z_BYTE - MATRIX_ROW_END_BYTEPOS (row);
first_unchanged_at_end_row);
eassert (row && MATRIX_ROW_DISPLAYS_TEXT_P (row));
- WSET (w, window_end_pos, make_number (Z - MATRIX_ROW_END_CHARPOS (row)));
+ wset_window_end_pos (w, make_number (Z - MATRIX_ROW_END_CHARPOS (row)));
w->window_end_bytepos = Z_BYTE - MATRIX_ROW_END_BYTEPOS (row);
- WSET (w, window_end_vpos,
- make_number (MATRIX_ROW_VPOS (row, w->current_matrix)));
+ wset_window_end_vpos
+ (w, make_number (MATRIX_ROW_VPOS (row, w->current_matrix)));
eassert (w->window_end_bytepos >= 0);
IF_DEBUG (debug_method_add (w, "A"));
}
else if (last_text_row_at_end)
{
- WSET (w, window_end_pos,
- make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row_at_end)));
+ wset_window_end_pos
+ (w, make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row_at_end)));
w->window_end_bytepos
= Z_BYTE - MATRIX_ROW_END_BYTEPOS (last_text_row_at_end);
- WSET (w, window_end_vpos,
- make_number (MATRIX_ROW_VPOS (last_text_row_at_end, desired_matrix)));
+ wset_window_end_vpos
+ (w, make_number (MATRIX_ROW_VPOS (last_text_row_at_end,
+ desired_matrix)));
eassert (w->window_end_bytepos >= 0);
IF_DEBUG (debug_method_add (w, "B"));
}
/* We have displayed either to the end of the window or at the
end of the window, i.e. the last row with text is to be found
in the desired matrix. */
- WSET (w, window_end_pos,
- make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row)));
+ wset_window_end_pos
+ (w, make_number (Z - MATRIX_ROW_END_CHARPOS (last_text_row)));
w->window_end_bytepos
= Z_BYTE - MATRIX_ROW_END_BYTEPOS (last_text_row);
- WSET (w, window_end_vpos,
- make_number (MATRIX_ROW_VPOS (last_text_row, desired_matrix)));
+ wset_window_end_vpos
+ (w, make_number (MATRIX_ROW_VPOS (last_text_row, desired_matrix)));
eassert (w->window_end_bytepos >= 0);
}
else if (first_unchanged_at_end_row == NULL
}
eassert (row != NULL);
- WSET (w, window_end_vpos, make_number (vpos + 1));
- WSET (w, window_end_pos, make_number (Z - MATRIX_ROW_END_CHARPOS (row)));
+ wset_window_end_vpos (w, make_number (vpos + 1));
+ wset_window_end_pos (w, make_number (Z - MATRIX_ROW_END_CHARPOS (row)));
w->window_end_bytepos = Z_BYTE - MATRIX_ROW_END_BYTEPOS (row);
eassert (w->window_end_bytepos >= 0);
IF_DEBUG (debug_method_add (w, "C"));
debug_end_vpos = XFASTINT (w->window_end_vpos));
/* Record that display has not been completed. */
- WSET (w, window_end_valid, Qnil);
+ wset_window_end_valid (w, Qnil);
w->desired_matrix->no_scrolling_p = 1;
return 3;
}
/* Is IT->w showing the region? */
- WSET (it->w, region_showing, it->region_beg_charpos > 0 ? Qt : Qnil);
+ wset_region_showing (it->w, it->region_beg_charpos > 0 ? Qt : Qnil);
/* Clear the result glyph row and enable it. */
prepare_desired_row (row);
/* These will be set while the mode line specs are processed. */
line_number_displayed = 0;
- WSET (w, column_number_displayed, Qnil);
+ wset_column_number_displayed (w, Qnil);
if (WINDOW_WANTS_MODELINE_P (w))
{
else
{
ptrdiff_t col = current_column ();
- WSET (w, column_number_displayed, make_number (col));
+ wset_column_number_displayed (w, make_number (col));
pint2str (decode_mode_spec_buf, field_width, col);
return decode_mode_spec_buf;
}
goto no_value;
/* But do forget it, if the window shows a different buffer now. */
else if (BUFFERP (w->base_line_pos))
- WSET (w, base_line_pos, Qnil);
+ wset_base_line_pos (w, Qnil);
/* If the buffer is very big, don't waste time. */
if (INTEGERP (Vline_number_display_limit)
&& BUF_ZV (b) - BUF_BEGV (b) > XINT (Vline_number_display_limit))
{
- WSET (w, base_line_pos, Qnil);
- WSET (w, base_line_number, Qnil);
+ wset_base_line_pos (w, Qnil);
+ wset_base_line_number (w, Qnil);
goto no_value;
}
go back past it. */
if (startpos == BUF_BEGV (b))
{
- WSET (w, base_line_number, make_number (topline));
- WSET (w, base_line_pos, make_number (BUF_BEGV (b)));
+ wset_base_line_number (w, make_number (topline));
+ wset_base_line_pos (w, make_number (BUF_BEGV (b)));
}
else if (nlines < height + 25 || nlines > height * 3 + 50
|| linepos == BUF_BEGV (b))
give up on line numbers for this window. */
if (position == limit_byte && limit == startpos - distance)
{
- WSET (w, base_line_pos, w->buffer);
- WSET (w, base_line_number, Qnil);
+ wset_base_line_pos (w, w->buffer);
+ wset_base_line_number (w, Qnil);
goto no_value;
}
- WSET (w, base_line_number, make_number (topline - nlines));
- WSET (w, base_line_pos, make_number (BYTE_TO_CHAR (position)));
+ wset_base_line_number (w, make_number (topline - nlines));
+ wset_base_line_pos (w, make_number (BYTE_TO_CHAR (position)));
}
/* Now count lines from the start pos to point. */
echo_area_window = minibuf_window;
- WSET (r, top_line, make_number (FRAME_TOP_MARGIN (f)));
- WSET (r, total_lines, make_number (FRAME_LINES (f) - 1 - FRAME_TOP_MARGIN (f)));
- WSET (r, total_cols, make_number (FRAME_COLS (f)));
- WSET (m, top_line, make_number (FRAME_LINES (f) - 1));
- WSET (m, total_lines, make_number (1));
- WSET (m, total_cols, make_number (FRAME_COLS (f)));
+ wset_top_line (r, make_number (FRAME_TOP_MARGIN (f)));
+ wset_total_lines
+ (r, make_number (FRAME_LINES (f) - 1 - FRAME_TOP_MARGIN (f)));
+ wset_total_cols (r, make_number (FRAME_COLS (f)));
+ wset_top_line (m, make_number (FRAME_LINES (f) - 1));
+ wset_total_lines (m, make_number (1));
+ wset_total_cols (m, make_number (FRAME_COLS (f)));
scratch_glyph_row.glyphs[TEXT_AREA] = scratch_glyphs;
scratch_glyph_row.glyphs[TEXT_AREA + 1]