* window.c: suggested patch window_scroll_pixel_based
@ 2002-12-29 1:59 Martin Fredriksson
2002-12-30 15:27 ` Richard Stallman
0 siblings, 1 reply; 4+ messages in thread
From: Martin Fredriksson @ 2002-12-29 1:59 UTC (permalink / raw)
I suggest following patch to window.c (window_scroll_pixel_based), to
make 'scroll-down' be able to reach the start of the buffer. This
patch partly backs out of 1.433 (rms, 2002/12/23). I apologize if I
have misunderstood the issue. I have verified the patch on OpenBSD/X11
and OSX/Carbon.
Should I have reported this as a bug (to emacs-pretest-bug) instead?
/m
Index: window.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/window.c,v
retrieving revision 1.433
diff -u -r1.433 window.c
--- window.c 23 Dec 2002 18:04:45 -0000 1.433
+++ window.c 29 Dec 2002 01:55:05 -0000
@@ -4149,7 +4149,7 @@
/* End if we end up at ZV or BEGV. */
if ((n > 0 && IT_CHARPOS (it) == ZV)
- || (n < 0 && IT_CHARPOS (it) == BEGV))
+ || (n < 0 && IT_CHARPOS (it) == CHARPOS (start)))
{
if (IT_CHARPOS (it) == ZV)
{
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: window.c: suggested patch window_scroll_pixel_based
2002-12-29 1:59 window.c: suggested patch window_scroll_pixel_based Martin Fredriksson
@ 2002-12-30 15:27 ` Richard Stallman
2002-12-31 6:27 ` Martin Fredriksson
2003-01-01 16:45 ` Richard Stallman
0 siblings, 2 replies; 4+ messages in thread
From: Richard Stallman @ 2002-12-30 15:27 UTC (permalink / raw)
Cc: emacs-devel
I suggest following patch to window.c (window_scroll_pixel_based), to
make 'scroll-down' be able to reach the start of the buffer. This
patch partly backs out of 1.433 (rms, 2002/12/23). I apologize if I
have misunderstood the issue. I have verified the patch on OpenBSD/X11
and OSX/Carbon.
This problem does not happen for me, and your change reintroduces code
that seems to be entirely wrong as far as I can tell. Why do you
think it is right to test `start' here? It appears to me that BEGV
is correct.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: window.c: suggested patch window_scroll_pixel_based
2002-12-30 15:27 ` Richard Stallman
@ 2002-12-31 6:27 ` Martin Fredriksson
2003-01-01 16:45 ` Richard Stallman
1 sibling, 0 replies; 4+ messages in thread
From: Martin Fredriksson @ 2002-12-31 6:27 UTC (permalink / raw)
Cc: emacs-devel
On måndag, dec 30, 2002, at 16:27 Europe/Stockholm, Richard Stallman
wrote:
> I suggest following patch to window.c (window_scroll_pixel_based),
> to
> make 'scroll-down' be able to reach the start of the buffer. This
> patch partly backs out of 1.433 (rms, 2002/12/23). I apologize if
> I
> have misunderstood the issue. I have verified the patch on
> OpenBSD/X11
> and OSX/Carbon.
>
> This problem does not happen for me, and your change reintroduces code
> that seems to be entirely wrong as far as I can tell. Why do you
> think it is right to test `start' here? It appears to me that BEGV
> is correct.
Line 4151--4152:
if ((n > 0 && IT_CHARPOS (it) == ZV)
|| (n < 0 && IT_CHARPOS (it) == BEGV))
The comparison with ZV seems to be correct since the function
'move_it_to' (called on line 4144) never sets IT_CHARPOS(it) to ZV
unless ZV is visible in the same window.
For backwards movement, however, the function
'move_it_vertically_backword' (called on line 4142) sets
IT_CHARPOS(it) to BEGV when BEGV is less than a screenfull from
current position (as it should). The comparison "IT_CHARPOS(it) ==
BEGV" now becomes true, and the move is aborted (with
Fsignal(Qbeginning_of_buffer), even though IT_CHARPOS(it) is not
visible. Since the window is not set until 'set_marker_restricted',
etc, is called on line 4196--, the result is that the window is not
scrolled as it should be.
I believe that it is correct to test IT_CHARPOS(it) == CHARPOS(start)
instead, since that is true when the scroll should not be done (when the
new start position is the same as the current). From what I can see and
understand, it is perfectly ok for IT_CHARPOS(it) == BEGV, and scrolling
should still be done.
Note that I've only tested with scroll_preserve_screen_position
non-zero. I do not know if that complicates things. I must admit I
have a hard time understanding all the issues involved here.
/m
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: window.c: suggested patch window_scroll_pixel_based
2002-12-30 15:27 ` Richard Stallman
2002-12-31 6:27 ` Martin Fredriksson
@ 2003-01-01 16:45 ` Richard Stallman
1 sibling, 0 replies; 4+ messages in thread
From: Richard Stallman @ 2003-01-01 16:45 UTC (permalink / raw)
Cc: martin
I eventually concluded that you were right,
Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-01-01 16:45 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-29 1:59 window.c: suggested patch window_scroll_pixel_based Martin Fredriksson
2002-12-30 15:27 ` Richard Stallman
2002-12-31 6:27 ` Martin Fredriksson
2003-01-01 16:45 ` Richard Stallman
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.