(redisplay_window): Fix infinite loop in redisplay.
If centering point failed to make whole line visible and vscroll is non-zero, disable vscroll and try centering point again.
This commit is contained in:
parent
b928437175
commit
932357b45c
2 changed files with 16 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
2003-02-25 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xdisp.c (redisplay_window): Fix infinite loop in redisplay.
|
||||
If centering point failed to make whole line visible and vscroll
|
||||
is non-zero, disable vscroll and try centering point again.
|
||||
|
||||
* lread.c (read1): Accept `single space' syntax like (? x).
|
||||
|
||||
2003-02-25 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* keyboard.c (cancel_hourglass_unwind): Surround with
|
||||
|
|
|
@ -10822,6 +10822,14 @@ redisplay_window (window, just_this_one_p)
|
|||
|
||||
if (!make_cursor_line_fully_visible (w))
|
||||
{
|
||||
/* If vscroll is enabled, disable it and try again. */
|
||||
if (w->vscroll)
|
||||
{
|
||||
w->vscroll = 0;
|
||||
clear_glyph_matrix (w->desired_matrix);
|
||||
goto recenter;
|
||||
}
|
||||
|
||||
/* If centering point failed to make the whole line visible,
|
||||
put point at the top instead. That has to make the whole line
|
||||
visible, if it can be done. */
|
||||
|
|
Loading…
Add table
Reference in a new issue