[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scroll-conservatively overflow
From: |
Kim F. Storm |
Subject: |
Re: scroll-conservatively overflow |
Date: |
30 Apr 2004 18:38:10 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 |
Romain Francoise <address@hidden> writes:
> Romain Francoise <address@hidden> writes:
>
> > About scrolling: I've been bitten by a bug for some weeks now, I
> > originally thought it was specific to the multi-tty code but I
> > discovered this morning that it's not. (A fresh checkout from CVS HEAD
> > this morning exhibited the same issues.)
>
> I have finally found enough time to track it down. The change
> responsible for all my scrolling problems is Richard's change to
> indent.c on March 2nd:
>
> 2004-03-02 Richard M. Stallman <address@hidden>
>
> * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
>
> Reverting this change (see attached patch) solves all issues in Dired,
> Gnus, etc.
>
> I have tried to come up with a fix but failed. I don't really
> understand why this change was necessary, it adds complexity and does
> not fix anything as far as I can see. If it was just a code cleanup,
> maybe the best would be to revert it for the time being.
The change was made in response to the following bug report:
The fix was obviously not correct.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
Place the following in a file named `/tmp/x'
======cut here=====
Barf
Whee!
Yadda
======cut here=====
(the above contains three lines, no tabs, and no trailing spaces, for
a total of 27 characters)
Now do the following:
* start `emacs -q --no-site-file'
* find the file: C-x C-f /tmp/x RET
* turn on selective-display: C-u C-x $
* attempt to move point forward: C-n C-n
Note that the cursor did not appear to move after the second C-n.
That's the bug; it should have appeared on the third visible line
(right before the `Y').
* sanity check: C-x =
You should see point 6 of 27.
* again attempt to move point forward: C-n
* again sanity check: C-x =
It's still at 6 of 27.
If it matters, you can "un-stick" point by typing C-f, *then* typing
C-n; in that case, point indeed winds up on the third visible line,
where I'd expect it to.
--
Kim F. Storm <address@hidden> http://www.cua.dk