Commit e8c17b81 authored by Paul Eggert's avatar Paul Eggert
Browse files

* window.h (WSET): Remove.

Replace all uses with calls to new setter functions.
Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
(WINDOW_INLINE): New macro.
(wset_buffer, wset_frame, wset_left_col, wset_next, wset_prev)
(wset_redisplay_end_trigger, wset_top_line, wset_total_cols)
(wset_total_lines, wset_vertical_scroll_bar)
(wset_window_end_pos, wset_window_end_valid)
(wset_window_end_vpos): New setter functions.
* window.c (WINDOW_INLINE):
Define to EXTERN_INLINE, so that the corresponding functions
are compiled into code.
(wset_combination_limit, wset_dedicated, wset_display_table)
(wset_hchild, wset_left_fringe_width, wset_left_margin_cols)
(wset_new_normal, wset_new_total, wset_next_buffers)
(wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
(wset_prev_buffers, wset_right_fringe_width)
(wset_right_margin_cols, wset_scroll_bar_width, wset_start)
(wset_temslot, wset_vchild, wset_vertical_scroll_bar_type)
(wset_window_parameters):
* xdisp.c (wset_base_line_number, wset_base_line_pos)
(wset_column_number_displayed, wset_region_showing):
New setter functions.

Fixes: debbugs:12215
parent 3f22b86f
2012-08-18 Paul Eggert <eggert@cs.ucla.edu> 2012-08-18 Paul Eggert <eggert@cs.ucla.edu>
   
* window.h (WSET): Remove (Bug#12215).
Replace all uses with calls to new setter functions.
Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
(WINDOW_INLINE): New macro.
(wset_buffer, wset_frame, wset_left_col, wset_next, wset_prev)
(wset_redisplay_end_trigger, wset_top_line, wset_total_cols)
(wset_total_lines, wset_vertical_scroll_bar)
(wset_window_end_pos, wset_window_end_valid)
(wset_window_end_vpos): New setter functions.
* window.c (WINDOW_INLINE):
Define to EXTERN_INLINE, so that the corresponding functions
are compiled into code.
(wset_combination_limit, wset_dedicated, wset_display_table)
(wset_hchild, wset_left_fringe_width, wset_left_margin_cols)
(wset_new_normal, wset_new_total, wset_next_buffers)
(wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
(wset_prev_buffers, wset_right_fringe_width)
(wset_right_margin_cols, wset_scroll_bar_width, wset_start)
(wset_temslot, wset_vchild, wset_vertical_scroll_bar_type)
(wset_window_parameters):
* xdisp.c (wset_base_line_number, wset_base_line_pos)
(wset_column_number_displayed, wset_region_showing):
New setter functions.
* termhooks.h (TSET): Remove (Bug#12215). * termhooks.h (TSET): Remove (Bug#12215).
Replace all uses with calls to new setter functions. Replace all uses with calls to new setter functions.
Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
......
...@@ -621,7 +621,7 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y ...@@ -621,7 +621,7 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
are invalidated below. */ are invalidated below. */
if (INTEGERP (w->window_end_vpos) if (INTEGERP (w->window_end_vpos)
&& XFASTINT (w->window_end_vpos) >= i) && XFASTINT (w->window_end_vpos) >= i)
WSET (w, window_end_valid, Qnil); wset_window_end_valid (w, Qnil);
while (i < matrix->nrows) while (i < matrix->nrows)
matrix->rows[i++].enabled_p = 0; matrix->rows[i++].enabled_p = 0;
...@@ -878,7 +878,7 @@ clear_window_matrices (struct window *w, int desired_p) ...@@ -878,7 +878,7 @@ clear_window_matrices (struct window *w, int desired_p)
else else
{ {
clear_glyph_matrix (w->current_matrix); clear_glyph_matrix (w->current_matrix);
WSET (w, window_end_valid, Qnil); wset_window_end_valid (w, Qnil);
} }
} }
...@@ -1887,14 +1887,14 @@ adjust_frame_glyphs_initially (void) ...@@ -1887,14 +1887,14 @@ adjust_frame_glyphs_initially (void)
int top_margin = FRAME_TOP_MARGIN (sf); int top_margin = FRAME_TOP_MARGIN (sf);
/* Do it for the root window. */ /* Do it for the root window. */
WSET (root, top_line, make_number (top_margin)); wset_top_line (root, make_number (top_margin));
WSET (root, total_lines, make_number (frame_lines - 1 - top_margin)); wset_total_lines (root, make_number (frame_lines - 1 - top_margin));
WSET (root, total_cols, make_number (frame_cols)); wset_total_cols (root, make_number (frame_cols));
/* Do it for the mini-buffer window. */ /* Do it for the mini-buffer window. */
WSET (mini, top_line, make_number (frame_lines - 1)); wset_top_line (mini, make_number (frame_lines - 1));
WSET (mini, total_lines, make_number (1)); wset_total_lines (mini, make_number (1));
WSET (mini, total_cols, make_number (frame_cols)); wset_total_cols (mini, make_number (frame_cols));
adjust_frame_glyphs (sf); adjust_frame_glyphs (sf);
glyphs_initialized_initially_p = 1; glyphs_initialized_initially_p = 1;
...@@ -2169,7 +2169,7 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f) ...@@ -2169,7 +2169,7 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
fset_menu_bar_window (f, make_window ()); fset_menu_bar_window (f, make_window ());
w = XWINDOW (f->menu_bar_window); w = XWINDOW (f->menu_bar_window);
XSETFRAME (frame, f); XSETFRAME (frame, f);
WSET (w, frame, frame); wset_frame (w, frame);
w->pseudo_window_p = 1; w->pseudo_window_p = 1;
} }
else else
...@@ -2177,10 +2177,10 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f) ...@@ -2177,10 +2177,10 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
/* Set window dimensions to frame dimensions and allocate or /* Set window dimensions to frame dimensions and allocate or
adjust glyph matrices of W. */ adjust glyph matrices of W. */
WSET (w, top_line, make_number (0)); wset_top_line (w, make_number (0));
WSET (w, left_col, make_number (0)); wset_left_col (w, make_number (0));
WSET (w, total_lines, make_number (FRAME_MENU_BAR_LINES (f))); wset_total_lines (w, make_number (FRAME_MENU_BAR_LINES (f)));
WSET (w, total_cols, make_number (FRAME_TOTAL_COLS (f))); wset_total_cols (w, make_number (FRAME_TOTAL_COLS (f)));
allocate_matrices_for_window_redisplay (w); allocate_matrices_for_window_redisplay (w);
} }
#endif /* not USE_X_TOOLKIT && not USE_GTK */ #endif /* not USE_X_TOOLKIT && not USE_GTK */
...@@ -2197,16 +2197,16 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f) ...@@ -2197,16 +2197,16 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
fset_tool_bar_window (f, make_window ()); fset_tool_bar_window (f, make_window ());
w = XWINDOW (f->tool_bar_window); w = XWINDOW (f->tool_bar_window);
XSETFRAME (frame, f); XSETFRAME (frame, f);
WSET (w, frame, frame); wset_frame (w, frame);
w->pseudo_window_p = 1; w->pseudo_window_p = 1;
} }
else else
w = XWINDOW (f->tool_bar_window); w = XWINDOW (f->tool_bar_window);
WSET (w, top_line, make_number (FRAME_MENU_BAR_LINES (f))); wset_top_line (w, make_number (FRAME_MENU_BAR_LINES (f)));
WSET (w, left_col, make_number (0)); wset_left_col (w, make_number (0));
WSET (w, total_lines, make_number (FRAME_TOOL_BAR_LINES (f))); wset_total_lines (w, make_number (FRAME_TOOL_BAR_LINES (f)));
WSET (w, total_cols, make_number (FRAME_TOTAL_COLS (f))); wset_total_cols (w, make_number (FRAME_TOTAL_COLS (f)));
allocate_matrices_for_window_redisplay (w); allocate_matrices_for_window_redisplay (w);
} }
#endif #endif
...@@ -5744,7 +5744,7 @@ change_frame_size_1 (register struct frame *f, int newheight, int newwidth, int ...@@ -5744,7 +5744,7 @@ change_frame_size_1 (register struct frame *f, int newheight, int newwidth, int
FrameCols (FRAME_TTY (f)) = newwidth; FrameCols (FRAME_TTY (f)) = newwidth;
if (WINDOWP (f->tool_bar_window)) if (WINDOWP (f->tool_bar_window))
WSET (XWINDOW (f->tool_bar_window), total_cols, make_number (newwidth)); wset_total_cols (XWINDOW (f->tool_bar_window), make_number (newwidth));
} }
FRAME_LINES (f) = newheight; FRAME_LINES (f) = newheight;
......
...@@ -148,8 +148,8 @@ set_menu_bar_lines_1 (Lisp_Object window, int n) ...@@ -148,8 +148,8 @@ set_menu_bar_lines_1 (Lisp_Object window, int n)
struct window *w = XWINDOW (window); struct window *w = XWINDOW (window);
w->last_modified = 0; w->last_modified = 0;
WSET (w, top_line, make_number (XFASTINT (w->top_line) + n)); wset_top_line (w, make_number (XFASTINT (w->top_line) + n));
WSET (w, total_lines, make_number (XFASTINT (w->total_lines) - n)); wset_total_lines (w, make_number (XFASTINT (w->total_lines) - n));
/* Handle just the top child in a vertical split. */ /* Handle just the top child in a vertical split. */
if (!NILP (w->vchild)) if (!NILP (w->vchild))
...@@ -305,20 +305,20 @@ make_frame (int mini_p) ...@@ -305,20 +305,20 @@ make_frame (int mini_p)
if (mini_p) if (mini_p)
{ {
mini_window = make_window (); mini_window = make_window ();
WSET (XWINDOW (root_window), next, mini_window); wset_next (XWINDOW (root_window), mini_window);
WSET (XWINDOW (mini_window), prev, root_window); wset_prev (XWINDOW (mini_window), root_window);
XWINDOW (mini_window)->mini = 1; XWINDOW (mini_window)->mini = 1;
WSET (XWINDOW (mini_window), frame, frame); wset_frame (XWINDOW (mini_window), frame);
fset_minibuffer_window (f, mini_window); fset_minibuffer_window (f, mini_window);
} }
else else
{ {
mini_window = Qnil; mini_window = Qnil;
WSET (XWINDOW (root_window), next, Qnil); wset_next (XWINDOW (root_window), Qnil);
fset_minibuffer_window (f, Qnil); fset_minibuffer_window (f, Qnil);
} }
WSET (XWINDOW (root_window), frame, frame); wset_frame (XWINDOW (root_window), frame);
/* 10 is arbitrary, /* 10 is arbitrary,
just so that there is "something there." just so that there is "something there."
...@@ -327,21 +327,21 @@ make_frame (int mini_p) ...@@ -327,21 +327,21 @@ make_frame (int mini_p)
SET_FRAME_COLS (f, 10); SET_FRAME_COLS (f, 10);
FRAME_LINES (f) = 10; FRAME_LINES (f) = 10;
WSET (XWINDOW (root_window), total_cols, make_number (10)); wset_total_cols (XWINDOW (root_window), make_number (10));
WSET (XWINDOW (root_window), total_lines, make_number (mini_p ? 9 : 10)); wset_total_lines (XWINDOW (root_window), make_number (mini_p ? 9 : 10));
if (mini_p) if (mini_p)
{ {
WSET (XWINDOW (mini_window), total_cols, make_number (10)); wset_total_cols (XWINDOW (mini_window), make_number (10));
WSET (XWINDOW (mini_window), top_line, make_number (9)); wset_top_line (XWINDOW (mini_window), make_number (9));
WSET (XWINDOW (mini_window), total_lines, make_number (1)); wset_total_lines (XWINDOW (mini_window), make_number (1));
} }
/* Choose a buffer for the frame's root window. */ /* Choose a buffer for the frame's root window. */
{ {
Lisp_Object buf; Lisp_Object buf;
WSET (XWINDOW (root_window), buffer, Qt); wset_buffer (XWINDOW (root_window), Qt);
buf = Fcurrent_buffer (); buf = Fcurrent_buffer ();
/* If buf is a 'hidden' buffer (i.e. one whose name starts with /* If buf is a 'hidden' buffer (i.e. one whose name starts with
a space), try to find another one. */ a space), try to find another one. */
...@@ -360,7 +360,7 @@ make_frame (int mini_p) ...@@ -360,7 +360,7 @@ make_frame (int mini_p)
if (mini_p) if (mini_p)
{ {
WSET (XWINDOW (mini_window), buffer, Qt); wset_buffer (XWINDOW (mini_window), Qt);
set_window_buffer (mini_window, set_window_buffer (mini_window,
(NILP (Vminibuffer_list) (NILP (Vminibuffer_list)
? get_minibuffer (0) ? get_minibuffer (0)
...@@ -458,9 +458,9 @@ make_minibuffer_frame (void) ...@@ -458,9 +458,9 @@ make_minibuffer_frame (void)
mini_window = f->root_window; mini_window = f->root_window;
fset_minibuffer_window (f, mini_window); fset_minibuffer_window (f, mini_window);
XWINDOW (mini_window)->mini = 1; XWINDOW (mini_window)->mini = 1;
WSET (XWINDOW (mini_window), next, Qnil); wset_next (XWINDOW (mini_window), Qnil);
WSET (XWINDOW (mini_window), prev, Qnil); wset_prev (XWINDOW (mini_window), Qnil);
WSET (XWINDOW (mini_window), frame, frame); wset_frame (XWINDOW (mini_window), frame);
/* Put the proper buffer in that window. */ /* Put the proper buffer in that window. */
......
...@@ -2003,7 +2003,7 @@ whether or not it is currently displayed in some window. */) ...@@ -2003,7 +2003,7 @@ whether or not it is currently displayed in some window. */)
old_buffer = w->buffer; old_buffer = w->buffer;
old_charpos = XMARKER (w->pointm)->charpos; old_charpos = XMARKER (w->pointm)->charpos;
old_bytepos = XMARKER (w->pointm)->bytepos; old_bytepos = XMARKER (w->pointm)->bytepos;
WSET (w, buffer, Fcurrent_buffer ()); wset_buffer (w, Fcurrent_buffer ());
set_marker_both (w->pointm, w->buffer, set_marker_both (w->pointm, w->buffer,
BUF_PT (current_buffer), BUF_PT_BYTE (current_buffer)); BUF_PT (current_buffer), BUF_PT_BYTE (current_buffer));
} }
...@@ -2146,7 +2146,7 @@ whether or not it is currently displayed in some window. */) ...@@ -2146,7 +2146,7 @@ whether or not it is currently displayed in some window. */)
if (BUFFERP (old_buffer)) if (BUFFERP (old_buffer))
{ {
WSET (w, buffer, old_buffer); wset_buffer (w, old_buffer);
set_marker_both (w->pointm, w->buffer, set_marker_both (w->pointm, w->buffer,
old_charpos, old_bytepos); old_charpos, old_bytepos);
} }
......
...@@ -3698,7 +3698,7 @@ overwriting cursor (usually when cursor on a tab) */ ...@@ -3698,7 +3698,7 @@ overwriting cursor (usually when cursor on a tab) */
{ {
bar = XNS_SCROLL_BAR (window->vertical_scroll_bar); bar = XNS_SCROLL_BAR (window->vertical_scroll_bar);
[bar removeFromSuperview]; [bar removeFromSuperview];
WSET (window, vertical_scroll_bar, Qnil); wset_vertical_scroll_bar (window, Qnil);
} }
ns_clear_frame_area (f, sb_left, top, width, height); ns_clear_frame_area (f, sb_left, top, width, height);
UNBLOCK_INPUT; UNBLOCK_INPUT;
...@@ -3709,7 +3709,7 @@ overwriting cursor (usually when cursor on a tab) */ ...@@ -3709,7 +3709,7 @@ overwriting cursor (usually when cursor on a tab) */
{ {
ns_clear_frame_area (f, sb_left, top, width, height); ns_clear_frame_area (f, sb_left, top, width, height);
bar = [[EmacsScroller alloc] initFrame: r window: win]; bar = [[EmacsScroller alloc] initFrame: r window: win];
WSET (window, vertical_scroll_bar, make_save_value (bar, 0)); wset_vertical_scroll_bar (window, make_save_value (bar, 0));
} }
else else
{ {
...@@ -6388,7 +6388,7 @@ - (void)dealloc ...@@ -6388,7 +6388,7 @@ - (void)dealloc
{ {
NSTRACE (EmacsScroller_dealloc); NSTRACE (EmacsScroller_dealloc);
if (!NILP (win)) if (!NILP (win))
WSET (XWINDOW (win), vertical_scroll_bar, Qnil); wset_vertical_scroll_bar (XWINDOW (win), Qnil);
[super dealloc]; [super dealloc];
} }
......
...@@ -5647,8 +5647,8 @@ Text larger than the specified size is clipped. */) ...@@ -5647,8 +5647,8 @@ Text larger than the specified size is clipped. */)
/* Set up the frame's root window. */ /* Set up the frame's root window. */
w = XWINDOW (FRAME_ROOT_WINDOW (f)); w = XWINDOW (FRAME_ROOT_WINDOW (f));
WSET (w, left_col, make_number (0)); wset_left_col (w, make_number (0));
WSET (w, top_line, make_number (0)); wset_top_line (w, make_number (0));
if (CONSP (Vx_max_tooltip_size) if (CONSP (Vx_max_tooltip_size)
&& INTEGERP (XCAR (Vx_max_tooltip_size)) && INTEGERP (XCAR (Vx_max_tooltip_size))
...@@ -5656,13 +5656,13 @@ Text larger than the specified size is clipped. */) ...@@ -5656,13 +5656,13 @@ Text larger than the specified size is clipped. */)
&& INTEGERP (XCDR (Vx_max_tooltip_size)) && INTEGERP (XCDR (Vx_max_tooltip_size))
&& XINT (XCDR (Vx_max_tooltip_size)) > 0) && XINT (XCDR (Vx_max_tooltip_size)) > 0)
{ {
WSET (w, total_cols, XCAR (Vx_max_tooltip_size)); wset_total_cols (w, XCAR (Vx_max_tooltip_size));
WSET (w, total_lines, XCDR (Vx_max_tooltip_size)); wset_total_lines (w, XCDR (Vx_max_tooltip_size));
} }
else else
{ {
WSET (w, total_cols, make_number (80)); wset_total_cols (w, make_number (80));
WSET (w, total_lines, make_number (40)); wset_total_lines (w, make_number (40));
} }
FRAME_TOTAL_COLS (f) = XINT (w->total_cols); FRAME_TOTAL_COLS (f) = XINT (w->total_cols);
...@@ -5733,7 +5733,7 @@ Text larger than the specified size is clipped. */) ...@@ -5733,7 +5733,7 @@ Text larger than the specified size is clipped. */)
/* w->total_cols and FRAME_TOTAL_COLS want the width in columns, /* w->total_cols and FRAME_TOTAL_COLS want the width in columns,
not in pixels. */ not in pixels. */
width /= WINDOW_FRAME_COLUMN_WIDTH (w); width /= WINDOW_FRAME_COLUMN_WIDTH (w);
WSET (w, total_cols, make_number (width)); wset_total_cols (w, make_number (width));
FRAME_TOTAL_COLS (f) = width; FRAME_TOTAL_COLS (f) = width;
adjust_glyphs (f); adjust_glyphs (f);
w->pseudo_window_p = 1; w->pseudo_window_p = 1;
......
...@@ -3670,7 +3670,7 @@ x_scroll_bar_remove (struct scroll_bar *bar) ...@@ -3670,7 +3670,7 @@ x_scroll_bar_remove (struct scroll_bar *bar)
my_destroy_window (f, SCROLL_BAR_W32_WINDOW (bar)); my_destroy_window (f, SCROLL_BAR_W32_WINDOW (bar));
/* Dissociate this scroll bar from its window. */ /* Dissociate this scroll bar from its window. */
WSET (XWINDOW (bar->window), vertical_scroll_bar, Qnil); wset_vertical_scroll_bar (XWINDOW (bar->window), Qnil);
UNBLOCK_INPUT; UNBLOCK_INPUT;
} }
...@@ -3808,7 +3808,7 @@ w32_set_vertical_scroll_bar (struct window *w, ...@@ -3808,7 +3808,7 @@ w32_set_vertical_scroll_bar (struct window *w,
w32_set_scroll_bar_thumb (bar, portion, position, whole); w32_set_scroll_bar_thumb (bar, portion, position, whole);
XSETVECTOR (barobj, bar); XSETVECTOR (barobj, bar);
WSET (w, vertical_scroll_bar, barobj); wset_vertical_scroll_bar (w, barobj);
} }
......
This diff is collapsed.
...@@ -22,6 +22,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -22,6 +22,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "dispextern.h" #include "dispextern.h"
INLINE_HEADER_BEGIN
#ifndef WINDOW_INLINE
# define WINDOW_INLINE INLINE
#endif
extern Lisp_Object Qleft, Qright; extern Lisp_Object Qleft, Qright;
/* Windows are allocated as if they were vectors, but then the /* Windows are allocated as if they were vectors, but then the
...@@ -86,10 +91,6 @@ struct cursor_pos ...@@ -86,10 +91,6 @@ struct cursor_pos
int hpos, vpos; int hpos, vpos;
}; };
/* Most code should use this macro to set Lisp fields in struct window. */
#define WSET(w, field, value) ((w)->field = (value))
struct window struct window
{ {
/* This is for Lisp; the terminal code does not refer to it. */ /* This is for Lisp; the terminal code does not refer to it. */
...@@ -348,6 +349,75 @@ struct window ...@@ -348,6 +349,75 @@ struct window
ptrdiff_t window_end_bytepos; ptrdiff_t window_end_bytepos;
}; };
/* Most code should use these functions to set Lisp fields in struct
window. */
WINDOW_INLINE void
wset_buffer (struct window *w, Lisp_Object val)
{
w->buffer = val;
}
WINDOW_INLINE void
wset_frame (struct window *w, Lisp_Object val)
{
w->frame = val;
}
WINDOW_INLINE void
wset_left_col (struct window *w, Lisp_Object val)
{
w->left_col = val;
}
WINDOW_INLINE void
wset_next (struct window *w, Lisp_Object val)
{
w->next = val;
}
WINDOW_INLINE void
wset_prev (struct window *w, Lisp_Object val)
{
w->prev = val;
}
WINDOW_INLINE void
wset_redisplay_end_trigger (struct window *w, Lisp_Object val)
{
w->redisplay_end_trigger = val;
}
WINDOW_INLINE void
wset_top_line (struct window *w, Lisp_Object val)
{
w->top_line = val;
}
WINDOW_INLINE void
wset_total_cols (struct window *w, Lisp_Object val)
{
w->total_cols = val;
}
WINDOW_INLINE void
wset_total_lines (struct window *w, Lisp_Object val)
{
w->total_lines = val;
}
WINDOW_INLINE void
wset_vertical_scroll_bar (struct window *w, Lisp_Object val)
{
w->vertical_scroll_bar = val;
}
WINDOW_INLINE void
wset_window_end_pos (struct window *w, Lisp_Object val)
{
w->window_end_pos = val;
}
WINDOW_INLINE void
wset_window_end_valid (struct window *w, Lisp_Object val)
{
w->window_end_valid = val;
}
WINDOW_INLINE void
wset_window_end_vpos (struct window *w, Lisp_Object val)
{
w->window_end_vpos = val;
}
/* 1 if W is a minibuffer window. */ /* 1 if W is a minibuffer window. */
#define MINI_WINDOW_P(W) ((W)->mini) #define MINI_WINDOW_P(W) ((W)->mini)
...@@ -916,4 +986,6 @@ extern void init_window (void); ...@@ -916,4 +986,6 @@ extern void init_window (void);
extern void syms_of_window (void); extern void syms_of_window (void);
extern void keys_of_window (void); extern void keys_of_window (void);
INLINE_HEADER_END
#endif /* not WINDOW_H_INCLUDED */ #endif /* not WINDOW_H_INCLUDED */
...@@ -365,6 +365,28 @@ Lisp_Object Qcenter; ...@@ -365,6 +365,28 @@ Lisp_Object Qcenter;
static Lisp_Object Qmargin, Qpointer; static Lisp_Object Qmargin, Qpointer;
static Lisp_Object Qline_height; 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 #ifdef HAVE_WINDOW_SYSTEM
   
/* Test if overflow newline into fringe. Called with iterator IT /* Test if overflow newline into fringe. Called with iterator IT
...@@ -7981,7 +8003,7 @@ run_redisplay_end_trigger_hook (struct it *it) ...@@ -7981,7 +8003,7 @@ run_redisplay_end_trigger_hook (struct it *it)
   
/* Since we are *trying* to run these functions, don't try to run /* Since we are *trying* to run these functions, don't try to run
them again, even if they get an error. */ 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); Frun_hook_with_args (3, args);
   
/* Notice if it changed the face of the character we are on. */ /* Notice if it changed the face of the character we are on. */
...@@ -9969,7 +9991,7 @@ with_echo_area_buffer (struct window *w, int which, ...@@ -9969,7 +9991,7 @@ with_echo_area_buffer (struct window *w, int which,
set_buffer_internal_1 (XBUFFER (buffer)); set_buffer_internal_1 (XBUFFER (buffer));
if (w) if (w)
{ {
WSET (w, buffer, buffer); wset_buffer (w, buffer);
set_marker_both (w->pointm, buffer, BEG, BEG_BYTE); set_marker_both (w->pointm, buffer, BEG, BEG_BYTE);
} }
   
...@@ -10054,7 +10076,7 @@ unwind_with_echo_area_buffer (Lisp_Object vector) ...@@ -10054,7 +10076,7 @@ unwind_with_echo_area_buffer (Lisp_Object vector)
charpos = AREF (vector, 5); charpos = AREF (vector, 5);
bytepos = AREF (vector, 6); bytepos = AREF (vector, 6);
   
WSET (w, buffer, buffer); wset_buffer (w, buffer);
set_marker_both (w->pointm, buffer, set_marker_both (w->pointm, buffer,
XFASTINT (charpos), XFASTINT (bytepos)); XFASTINT (charpos), XFASTINT (bytepos));
} }
...@@ -13266,12 +13288,12 @@ redisplay_internal (void) ...@@ -13266,12 +13288,12 @@ redisplay_internal (void)