6246 |
reserve for the left marginal area. Optional third arg RIGHT-WIDTH |
reserve for the left marginal area. Optional third arg RIGHT-WIDTH |
6247 |
does the same for the right marginal area. A nil width parameter |
does the same for the right marginal area. A nil width parameter |
6248 |
means no margin. */) |
means no margin. */) |
6249 |
(window, left, right) |
(window, left_width, right_width) |
6250 |
Lisp_Object window, left, right; |
Lisp_Object window, left_width, right_width; |
6251 |
{ |
{ |
6252 |
struct window *w = decode_window (window); |
struct window *w = decode_window (window); |
6253 |
|
|
6254 |
/* Translate negative or zero widths to nil. |
/* Translate negative or zero widths to nil. |
6255 |
Margins that are too wide have to be checked elsewhere. */ |
Margins that are too wide have to be checked elsewhere. */ |
6256 |
|
|
6257 |
if (!NILP (left)) |
if (!NILP (left_width)) |
6258 |
{ |
{ |
6259 |
CHECK_NUMBER (left); |
CHECK_NUMBER (left_width); |
6260 |
if (XINT (left) <= 0) |
if (XINT (left_width) <= 0) |
6261 |
left = Qnil; |
left_width = Qnil; |
6262 |
} |
} |
6263 |
|
|
6264 |
if (!NILP (right)) |
if (!NILP (right_width)) |
6265 |
{ |
{ |
6266 |
CHECK_NUMBER (right); |
CHECK_NUMBER (right_width); |
6267 |
if (XINT (right) <= 0) |
if (XINT (right_width) <= 0) |
6268 |
right = Qnil; |
right_width = Qnil; |
6269 |
} |
} |
6270 |
|
|
6271 |
if (!EQ (w->left_margin_cols, left) |
if (!EQ (w->left_margin_cols, left_width) |
6272 |
|| !EQ (w->right_margin_cols, right)) |
|| !EQ (w->right_margin_cols, right_width)) |
6273 |
{ |
{ |
6274 |
w->left_margin_cols = left; |
w->left_margin_cols = left_width; |
6275 |
w->right_margin_cols = right; |
w->right_margin_cols = right_width; |
6276 |
|
|
6277 |
adjust_window_margins (w); |
adjust_window_margins (w); |
6278 |
|
|
6317 |
If optional fourth arg OUTSIDE-MARGINS is non-nil, draw the fringes |
If optional fourth arg OUTSIDE-MARGINS is non-nil, draw the fringes |
6318 |
outside of the display margins. By default, fringes are drawn between |
outside of the display margins. By default, fringes are drawn between |
6319 |
display marginal areas and the text area. */) |
display marginal areas and the text area. */) |
6320 |
(window, left, right, outside_margins) |
(window, left_width, right_width, outside_margins) |
6321 |
Lisp_Object window, left, right, outside_margins; |
Lisp_Object window, left_width, right_width, outside_margins; |
6322 |
{ |
{ |
6323 |
struct window *w = decode_window (window); |
struct window *w = decode_window (window); |
6324 |
|
|
6325 |
if (!NILP (left)) |
if (!NILP (left_width)) |
6326 |
CHECK_NATNUM (left); |
CHECK_NATNUM (left_width); |
6327 |
if (!NILP (right)) |
if (!NILP (right_width)) |
6328 |
CHECK_NATNUM (right); |
CHECK_NATNUM (right_width); |
6329 |
|
|
6330 |
if (!EQ (w->left_fringe_width, left) |
if (!EQ (w->left_fringe_width, left_width) |
6331 |
|| !EQ (w->right_fringe_width, right) |
|| !EQ (w->right_fringe_width, right_width) |
6332 |
|| !EQ (w->fringes_outside_margins, outside_margins)) |
|| !EQ (w->fringes_outside_margins, outside_margins)) |
6333 |
{ |
{ |
6334 |
w->left_fringe_width = left; |
w->left_fringe_width = left_width; |
6335 |
w->right_fringe_width = right; |
w->right_fringe_width = right_width; |
6336 |
w->fringes_outside_margins = outside_margins; |
w->fringes_outside_margins = outside_margins; |
6337 |
|
|
6338 |
adjust_window_margins (w); |
adjust_window_margins (w); |