emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lexbind (was: Emacs 23.3 released)


From: Eli Zaretskii
Subject: Re: Lexbind (was: Emacs 23.3 released)
Date: Sat, 19 Mar 2011 10:35:24 +0200

> From: Juanma Barranquero <address@hidden>
> Date: Sat, 19 Mar 2011 01:54:43 +0100
> Cc: address@hidden, address@hidden
> 
> It's looping here (in the else part, obviously):
> 
>       start_display (&it, w, startp);
>       if (scroll_max < INT_MAX)
>       move_it_vertically (&it, amount_to_scroll);
>       else
>       {
>         /* Extra precision for users who set scroll-conservatively
>            to most-positive-fixnum: make sure the amount we scroll
>            the window start is never less than amount_to_scroll,
>            which was computed as distance from window bottom to
>            point.  This matters when lines at window top and lines
>            below window bottom have different height.  */
>         struct it it1 = it;
>         /* We use a temporary it1 because line_bottom_y can modify
>            its argument, if it moves one line down; see there.  */
>         int start_y = line_bottom_y (&it1);
> 
>         do {
>           move_it_by_lines (&it, 1, 1);
>           it1 = it;
>         } while (line_bottom_y (&it1) - start_y < amount_to_scroll);
>       }
> 
> In my current session, line_bottom_y (&it1) == 15, start_y == 15,
> amount_to_scroll == 15, forever and ever and ever.

So you are saying that the do-while loop is never exited, is that it?
If so, could you step inside move_it_by_lines and see why it doesn't
(move, that is)?  It is supposed to move one line down.

Also, can you show the text through which this loop is supposed to
move down?  If that text is displayed on the screen, are there some
unusual features it uses, like invisible text or continuation lines?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]