emacs-devel
[Top][All Lists]
Advanced

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

Re: The unwarranted scrolling assumption


From: Lennart Borgman
Subject: Re: The unwarranted scrolling assumption
Date: Thu, 17 Jun 2010 06:55:17 +0200

On Thu, Jun 17, 2010 at 5:59 AM, Lennart Borgman
<address@hidden> wrote:
> On Thu, Jun 17, 2010 at 5:10 AM, Lennart Borgman
> <address@hidden> wrote:
>> On Thu, Jun 17, 2010 at 5:05 AM, Eli Zaretskii <address@hidden> wrote:
>>>> From: Stefan Monnier <address@hidden>
>>>> Cc: Lennart Borgman <address@hidden>, address@hidden, address@hidden, 
>>>> address@hidden
>>>> Date: Wed, 16 Jun 2010 20:54:52 -0400
>>>>
>>>> Indeed what he suggests is probably impossible.  But the end result he's
>>>> after is definitely possible: move the window-start as little as possible
>>>> (tho still, line by line) to keep point displayed.
>>>
>>> xdisp.c already tries to do that, we just need to find out why it
>>> fails in this particular case.
>>
>> After trying to restore the clip_changed value when save-restriction,
>> widen etc unnecessarily changed I suddenly wonder why they changed it.
>> Is not this something that only redisplay should handle? redisplay_can
>> easily save the clipping when it sets clip_changed to 0 and compare
>> with that when it enters redisplay_window and set clip_changed to 1 if
>> the saved clipping does not match.
>>
>> Does that sound reasonable? (I do not know if I am missing something.)
>
> At least it works. I just tested. First time I am using Emacs without
> "jumping scrolling"! :-)
>
> If you think this is the right way to fix it I will send patches later
> when I cleaned up a bit.
>
> There is one more similar problem which I do not know how to handle,
> in fileio.c. In the function Finsert_file_contents clip_changed is set
> to 1. I am not quite sure of the impact of this but it looks wrong to
> me to do this. I think the display engine should be told, but it must
> decide what to do with redisplay, not fileio.

Here is the patch (without the fileio.c part which I leave until I got
some comments).

Attachment: buffer-h-jumpscroll-0.diff
Description: Binary data

Attachment: editfns-jumpscroll-0.diff
Description: Binary data

Attachment: xdisp-jumpscroll-0.diff
Description: Binary data


reply via email to

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