diff options
| author | Joakim Verona | 2013-08-13 14:39:54 +0200 |
|---|---|---|
| committer | Joakim Verona | 2013-08-13 14:39:54 +0200 |
| commit | 6293f2abae4379768c2071149eb2152ffa117437 (patch) | |
| tree | 120cfe65e5efd69174ba01b48dea9939b29e154a /src/window.c | |
| parent | 1272f71a5f83232f2b2c25a6d8ec24ebe1ea0a63 (diff) | |
| parent | 9e37ee3be620a64afe9d9760076f80c22c986b62 (diff) | |
| download | emacs-6293f2abae4379768c2071149eb2152ffa117437.tar.gz emacs-6293f2abae4379768c2071149eb2152ffa117437.zip | |
merge from trunk
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/src/window.c b/src/window.c index 7b5b8e4df7a..1328adcacd0 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -154,11 +154,6 @@ wset_display_table (struct window *w, Lisp_Object val) | |||
| 154 | w->display_table = val; | 154 | w->display_table = val; |
| 155 | } | 155 | } |
| 156 | static void | 156 | static void |
| 157 | wset_left_fringe_width (struct window *w, Lisp_Object val) | ||
| 158 | { | ||
| 159 | w->left_fringe_width = val; | ||
| 160 | } | ||
| 161 | static void | ||
| 162 | wset_left_margin_cols (struct window *w, Lisp_Object val) | 157 | wset_left_margin_cols (struct window *w, Lisp_Object val) |
| 163 | { | 158 | { |
| 164 | w->left_margin_cols = val; | 159 | w->left_margin_cols = val; |
| @@ -194,11 +189,6 @@ wset_pointm (struct window *w, Lisp_Object val) | |||
| 194 | w->pointm = val; | 189 | w->pointm = val; |
| 195 | } | 190 | } |
| 196 | static void | 191 | static void |
| 197 | wset_right_fringe_width (struct window *w, Lisp_Object val) | ||
| 198 | { | ||
| 199 | w->right_fringe_width = val; | ||
| 200 | } | ||
| 201 | static void | ||
| 202 | wset_right_margin_cols (struct window *w, Lisp_Object val) | 192 | wset_right_margin_cols (struct window *w, Lisp_Object val) |
| 203 | { | 193 | { |
| 204 | w->right_margin_cols = val; | 194 | w->right_margin_cols = val; |
| @@ -3484,6 +3474,7 @@ make_window (void) | |||
| 3484 | /* Initialize non-Lisp data. Note that allocate_window zeroes out all | 3474 | /* Initialize non-Lisp data. Note that allocate_window zeroes out all |
| 3485 | non-Lisp data, so do it only for slots which should not be zero. */ | 3475 | non-Lisp data, so do it only for slots which should not be zero. */ |
| 3486 | w->nrows_scale_factor = w->ncols_scale_factor = 1; | 3476 | w->nrows_scale_factor = w->ncols_scale_factor = 1; |
| 3477 | w->left_fringe_width = w->right_fringe_width = -1; | ||
| 3487 | w->phys_cursor_type = -1; | 3478 | w->phys_cursor_type = -1; |
| 3488 | w->phys_cursor_width = -1; | 3479 | w->phys_cursor_width = -1; |
| 3489 | w->column_number_displayed = -1; | 3480 | w->column_number_displayed = -1; |
| @@ -3953,8 +3944,8 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3953 | /* Get special geometry settings from reference window. */ | 3944 | /* Get special geometry settings from reference window. */ |
| 3954 | wset_left_margin_cols (n, r->left_margin_cols); | 3945 | wset_left_margin_cols (n, r->left_margin_cols); |
| 3955 | wset_right_margin_cols (n, r->right_margin_cols); | 3946 | wset_right_margin_cols (n, r->right_margin_cols); |
| 3956 | wset_left_fringe_width (n, r->left_fringe_width); | 3947 | n->left_fringe_width = r->left_fringe_width; |
| 3957 | wset_right_fringe_width (n, r->right_fringe_width); | 3948 | n->right_fringe_width = r->right_fringe_width; |
| 3958 | n->fringes_outside_margins = r->fringes_outside_margins; | 3949 | n->fringes_outside_margins = r->fringes_outside_margins; |
| 3959 | wset_scroll_bar_width (n, r->scroll_bar_width); | 3950 | wset_scroll_bar_width (n, r->scroll_bar_width); |
| 3960 | wset_vertical_scroll_bar_type (n, r->vertical_scroll_bar_type); | 3951 | wset_vertical_scroll_bar_type (n, r->vertical_scroll_bar_type); |
| @@ -5699,8 +5690,8 @@ the return value is nil. Otherwise the value is t. */) | |||
| 5699 | wset_display_table (w, p->display_table); | 5690 | wset_display_table (w, p->display_table); |
| 5700 | wset_left_margin_cols (w, p->left_margin_cols); | 5691 | wset_left_margin_cols (w, p->left_margin_cols); |
| 5701 | wset_right_margin_cols (w, p->right_margin_cols); | 5692 | wset_right_margin_cols (w, p->right_margin_cols); |
| 5702 | wset_left_fringe_width (w, p->left_fringe_width); | 5693 | w->left_fringe_width = XINT (p->left_fringe_width); |
| 5703 | wset_right_fringe_width (w, p->right_fringe_width); | 5694 | w->right_fringe_width = XINT (p->right_fringe_width); |
| 5704 | w->fringes_outside_margins = !NILP (p->fringes_outside_margins); | 5695 | w->fringes_outside_margins = !NILP (p->fringes_outside_margins); |
| 5705 | wset_scroll_bar_width (w, p->scroll_bar_width); | 5696 | wset_scroll_bar_width (w, p->scroll_bar_width); |
| 5706 | wset_vertical_scroll_bar_type (w, p->vertical_scroll_bar_type); | 5697 | wset_vertical_scroll_bar_type (w, p->vertical_scroll_bar_type); |
| @@ -6000,8 +5991,8 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i) | |||
| 6000 | p->display_table = w->display_table; | 5991 | p->display_table = w->display_table; |
| 6001 | p->left_margin_cols = w->left_margin_cols; | 5992 | p->left_margin_cols = w->left_margin_cols; |
| 6002 | p->right_margin_cols = w->right_margin_cols; | 5993 | p->right_margin_cols = w->right_margin_cols; |
| 6003 | p->left_fringe_width = w->left_fringe_width; | 5994 | p->left_fringe_width = make_number (w->left_fringe_width); |
| 6004 | p->right_fringe_width = w->right_fringe_width; | 5995 | p->right_fringe_width = make_number (w->right_fringe_width); |
| 6005 | p->fringes_outside_margins = w->fringes_outside_margins ? Qt : Qnil; | 5996 | p->fringes_outside_margins = w->fringes_outside_margins ? Qt : Qnil; |
| 6006 | p->scroll_bar_width = w->scroll_bar_width; | 5997 | p->scroll_bar_width = w->scroll_bar_width; |
| 6007 | p->vertical_scroll_bar_type = w->vertical_scroll_bar_type; | 5998 | p->vertical_scroll_bar_type = w->vertical_scroll_bar_type; |
| @@ -6227,25 +6218,28 @@ frame's default fringe width. Default fringe widths can be set with | |||
| 6227 | the command `set-fringe-style'. | 6218 | the command `set-fringe-style'. |
| 6228 | If optional fourth arg OUTSIDE-MARGINS is non-nil, draw the fringes | 6219 | If optional fourth arg OUTSIDE-MARGINS is non-nil, draw the fringes |
| 6229 | outside of the display margins. By default, fringes are drawn between | 6220 | outside of the display margins. By default, fringes are drawn between |
| 6230 | display marginal areas and the text area. */) | 6221 | display marginal areas and the text area. |
| 6231 | (Lisp_Object window, Lisp_Object left_width, Lisp_Object right_width, Lisp_Object outside_margins) | 6222 | |
| 6223 | Return t if any fringe was actually changed and nil otherwise. */) | ||
| 6224 | (Lisp_Object window, Lisp_Object left_width, | ||
| 6225 | Lisp_Object right_width, Lisp_Object outside_margins) | ||
| 6232 | { | 6226 | { |
| 6233 | struct window *w = decode_live_window (window); | 6227 | struct window *w = decode_live_window (window); |
| 6234 | int outside = !NILP (outside_margins); | 6228 | int left, right, outside = !NILP (outside_margins); |
| 6235 | 6229 | ||
| 6236 | if (!NILP (left_width)) | 6230 | left = (NILP (left_width) ? -1 |
| 6237 | CHECK_NATNUM (left_width); | 6231 | : (CHECK_NATNUM (left_width), XINT (left_width))); |
| 6238 | if (!NILP (right_width)) | 6232 | right = (NILP (right_width) ? -1 |
| 6239 | CHECK_NATNUM (right_width); | 6233 | : (CHECK_NATNUM (right_width), XINT (right_width))); |
| 6240 | 6234 | ||
| 6241 | /* Do nothing on a tty. */ | 6235 | /* Do nothing on a tty or if nothing to actually change. */ |
| 6242 | if (FRAME_WINDOW_P (WINDOW_XFRAME (w)) | 6236 | if (FRAME_WINDOW_P (WINDOW_XFRAME (w)) |
| 6243 | && (!EQ (w->left_fringe_width, left_width) | 6237 | && (w->left_fringe_width != left |
| 6244 | || !EQ (w->right_fringe_width, right_width) | 6238 | || w->right_fringe_width != right |
| 6245 | || w->fringes_outside_margins != outside)) | 6239 | || w->fringes_outside_margins != outside)) |
| 6246 | { | 6240 | { |
| 6247 | wset_left_fringe_width (w, left_width); | 6241 | w->left_fringe_width = left; |
| 6248 | wset_right_fringe_width (w, right_width); | 6242 | w->right_fringe_width = right; |
| 6249 | w->fringes_outside_margins = outside; | 6243 | w->fringes_outside_margins = outside; |
| 6250 | 6244 | ||
| 6251 | adjust_window_margins (w); | 6245 | adjust_window_margins (w); |
| @@ -6255,6 +6249,7 @@ display marginal areas and the text area. */) | |||
| 6255 | 6249 | ||
| 6256 | ++windows_or_buffers_changed; | 6250 | ++windows_or_buffers_changed; |
| 6257 | adjust_glyphs (XFRAME (WINDOW_FRAME (w))); | 6251 | adjust_glyphs (XFRAME (WINDOW_FRAME (w))); |
| 6252 | return Qt; | ||
| 6258 | } | 6253 | } |
| 6259 | 6254 | ||
| 6260 | return Qnil; | 6255 | return Qnil; |