264 |
|
|
265 |
int auto_raise_tool_bar_buttons_p; |
int auto_raise_tool_bar_buttons_p; |
266 |
|
|
267 |
|
/* Non-zero means to reposition window if cursor line is only partially visible. */ |
268 |
|
|
269 |
|
int make_cursor_line_fully_visible_p; |
270 |
|
|
271 |
/* Margin around tool bar buttons in pixels. */ |
/* Margin around tool bar buttons in pixels. */ |
272 |
|
|
273 |
Lisp_Object Vtool_bar_button_margin; |
Lisp_Object Vtool_bar_button_margin; |
10891 |
struct glyph_row *row; |
struct glyph_row *row; |
10892 |
int window_height; |
int window_height; |
10893 |
|
|
10894 |
|
if (!make_cursor_line_fully_visible_p) |
10895 |
|
return 1; |
10896 |
|
|
10897 |
/* It's not always possible to find the cursor, e.g, when a window |
/* It's not always possible to find the cursor, e.g, when a window |
10898 |
is full of overlay strings. Don't do anything in that case. */ |
is full of overlay strings. Don't do anything in that case. */ |
10899 |
if (w->cursor.vpos < 0) |
if (w->cursor.vpos < 0) |
11481 |
/* if PT is not in the glyph row, give up. */ |
/* if PT is not in the glyph row, give up. */ |
11482 |
rc = CURSOR_MOVEMENT_MUST_SCROLL; |
rc = CURSOR_MOVEMENT_MUST_SCROLL; |
11483 |
} |
} |
11484 |
else if (MATRIX_ROW_PARTIALLY_VISIBLE_P (w, row)) |
else if (MATRIX_ROW_PARTIALLY_VISIBLE_P (w, row) |
11485 |
|
&& make_cursor_line_fully_visible_p) |
11486 |
{ |
{ |
11487 |
if (PT == MATRIX_ROW_END_CHARPOS (row) |
if (PT == MATRIX_ROW_END_CHARPOS (row) |
11488 |
&& !row->ends_at_zv_p |
&& !row->ends_at_zv_p |
13523 |
&& CHARPOS (start) > BEGV) |
&& CHARPOS (start) > BEGV) |
13524 |
/* Old redisplay didn't take scroll margin into account at the bottom, |
/* Old redisplay didn't take scroll margin into account at the bottom, |
13525 |
but then global-hl-line-mode doesn't scroll. KFS 2004-06-14 */ |
but then global-hl-line-mode doesn't scroll. KFS 2004-06-14 */ |
13526 |
|| w->cursor.y + cursor_height + this_scroll_margin > it.last_visible_y) |
|| (w->cursor.y + (make_cursor_line_fully_visible_p |
13527 |
|
? cursor_height + this_scroll_margin |
13528 |
|
: 1)) > it.last_visible_y) |
13529 |
{ |
{ |
13530 |
w->cursor.vpos = -1; |
w->cursor.vpos = -1; |
13531 |
clear_glyph_matrix (w->desired_matrix); |
clear_glyph_matrix (w->desired_matrix); |
22401 |
doc: /* *Non-nil means raise tool-bar buttons when the mouse moves over them. */); |
doc: /* *Non-nil means raise tool-bar buttons when the mouse moves over them. */); |
22402 |
auto_raise_tool_bar_buttons_p = 1; |
auto_raise_tool_bar_buttons_p = 1; |
22403 |
|
|
22404 |
|
DEFVAR_BOOL ("make-cursor-line-fully-visible", &make_cursor_line_fully_visible_p, |
22405 |
|
doc: /* *Non-nil means to scroll (recenter) cursor line if it is not fully visible. */); |
22406 |
|
make_cursor_line_fully_visible_p = 1; |
22407 |
|
|
22408 |
DEFVAR_LISP ("tool-bar-button-margin", &Vtool_bar_button_margin, |
DEFVAR_LISP ("tool-bar-button-margin", &Vtool_bar_button_margin, |
22409 |
doc: /* *Margin around tool-bar buttons in pixels. |
doc: /* *Margin around tool-bar buttons in pixels. |
22410 |
If an integer, use that for both horizontal and vertical margins. |
If an integer, use that for both horizontal and vertical margins. |