emacs-devel
[Top][All Lists]
Advanced

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

Re: The unwarranted scrolling assumption


From: Eli Zaretskii
Subject: Re: The unwarranted scrolling assumption
Date: Thu, 17 Jun 2010 22:08:48 +0300

> From: Lennart Borgman <address@hidden>
> Date: Thu, 17 Jun 2010 20:44:26 +0200
> Cc: address@hidden
> 
> - The path try_scrolling is not taken.
> - This is because clip_changed is 1.
> - narrow_to_region set it to 1.
> - reconsider_clip_changes gets a chance to reset it to 0, but it does
> not in this case.
> - reconsider_clip_changes does not however set it to 1.
> 
> The reason that reconsider_clip_changes does not set clip_changed to 0 is that
> 
>    !NILP (w->window_end_valid),
> 
> which looks like window_end_valid is non-nil.

Thanks, this is a start, but something is still missing.  We have this
code at the beginning of reconsider_clip_changes:

  if (b->clip_changed
           && !NILP (w->window_end_valid)
           && w->current_matrix->buffer == b
           && w->current_matrix->zv == BUF_ZV (b)
           && w->current_matrix->begv == BUF_BEGV (b))
    b->clip_changed = 0;

So, if b->clip_changed is non-zero at entry to reconsider_clip_changes,
and w->window_end_valid is non-nil, as you say, this code should have
reset b->clip_changed to zero.  And yet you say it didn't.  Why not?
what prevented it from doing so?



reply via email to

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