changeset 59342:132e8f3a36a1

(window_scroll_pixel_based): Don't correct preserve_y for CURRENT_HEADER_LINE_HEIGHT when moving backwards.
author Richard M. Stallman <rms@gnu.org>
date Tue, 04 Jan 2005 03:00:21 +0000
parents 6ce9207392bc
children 64db8dceb925
files src/window.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/window.c	Tue Jan 04 02:27:16 2005 +0000
+++ b/src/window.c	Tue Jan 04 03:00:21 2005 +0000
@@ -4688,7 +4688,8 @@
 	;
       else if (preserve_y >= 0)
 	{
-	  /* If we have a header line, take account of it.  */
+	  /* If we have a header line, take account of it.
+	     This is necessary because we set it.current_y to 0, above.  */
 	  if (WINDOW_WANTS_HEADER_LINE_P (w))
 	    preserve_y -= CURRENT_HEADER_LINE_HEIGHT (w);
 
@@ -4728,9 +4729,14 @@
 	{
 	  SET_TEXT_POS_FROM_MARKER (start, w->start);
 	  start_display (&it, w, start);
+#if 0  /* It's wrong to subtract this here
+	  because we called start_display again
+	  and did not alter it.current_y this time.  */
+
 	  /* If we have a header line, take account of it.  */
 	  if (WINDOW_WANTS_HEADER_LINE_P (w))
 	    preserve_y -= CURRENT_HEADER_LINE_HEIGHT (w);
+#endif
 
 	  move_it_to (&it, -1, -1, preserve_y, -1, MOVE_TO_Y);
 	  SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));