# HG changeset patch
# User Richard M. Stallman <rms@gnu.org>
# Date 1104807621 0
# Node ID 132e8f3a36a127e7fc64a10af57b56f01e2028dd
# Parent  6ce9207392bc7b4fef49fc21aaf065a127516272
(window_scroll_pixel_based): Don't correct preserve_y
for CURRENT_HEADER_LINE_HEIGHT when moving backwards.

diff -r 6ce9207392bc -r 132e8f3a36a1 src/window.c
--- 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));