emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/window.c


From: Kim F . Storm
Subject: [Emacs-diffs] Changes to emacs/src/window.c
Date: Mon, 24 Jan 2005 08:22:29 -0500

Index: emacs/src/window.c
diff -c emacs/src/window.c:1.494 emacs/src/window.c:1.495
*** emacs/src/window.c:1.494    Sun Jan 23 13:13:03 2005
--- emacs/src/window.c  Mon Jan 24 13:22:29 2005
***************
*** 4580,4586 ****
          int px;
          int dy = WINDOW_FRAME_LINE_HEIGHT (w);
          if (whole)
!           dy = window_box_height (w) - next_screen_context_lines * dy;
          dy *= n;
  
          if (n < 0 && (px = XINT (XCAR (tem))) > 0)
--- 4580,4588 ----
          int px;
          int dy = WINDOW_FRAME_LINE_HEIGHT (w);
          if (whole)
!           dy = max ((window_box_height (w)
!                      - next_screen_context_lines * dy),
!                     dy);
          dy *= n;
  
          if (n < 0 && (px = XINT (XCAR (tem))) > 0)
***************
*** 4615,4632 ****
    start_display (&it, w, start);
    if (whole)
      {
!       int screen_full = (window_box_height (w)
!                        - next_screen_context_lines * FRAME_LINE_HEIGHT 
(it.f));
!       int dy = n * screen_full;
  
        /* Note that move_it_vertically always moves the iterator to the
           start of a line.  So, if the last line doesn't have a newline,
         we would end up at the start of the line ending at ZV.  */
        if (dy <= 0)
!       move_it_vertically_backward (&it, -dy);
        else if (dy > 0)
        {
-         int start_pos = IT_CHARPOS (it);
          move_it_to (&it, ZV, -1, it.current_y + dy, -1,
                      MOVE_TO_POS | MOVE_TO_Y);
          /* Ensure we actually does move, e.g. in case we are currently
--- 4617,4642 ----
    start_display (&it, w, start);
    if (whole)
      {
!       int start_pos = IT_CHARPOS (it);
!       int dy = WINDOW_FRAME_LINE_HEIGHT (w);
!       dy = max ((window_box_height (w)
!                - next_screen_context_lines * dy),
!               dy) * n;
  
        /* Note that move_it_vertically always moves the iterator to the
           start of a line.  So, if the last line doesn't have a newline,
         we would end up at the start of the line ending at ZV.  */
        if (dy <= 0)
!       {
!         move_it_vertically_backward (&it, -dy);
!         /* Ensure we actually does move, e.g. in case we are currently
!            looking at an image that is taller that the window height.  */
!         while (start_pos == IT_CHARPOS (it)
!                && start_pos > BEGV)
!           move_it_by_lines (&it, -1, 1);
!       }
        else if (dy > 0)
        {
          move_it_to (&it, ZV, -1, it.current_y + dy, -1,
                      MOVE_TO_POS | MOVE_TO_Y);
          /* Ensure we actually does move, e.g. in case we are currently




reply via email to

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