emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Gerd Moellmann
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c
Date: Fri, 08 Mar 2002 07:30:33 -0500

Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.736 emacs/src/xdisp.c:1.737
*** emacs/src/xdisp.c:1.736     Fri Mar  8 06:03:53 2002
--- emacs/src/xdisp.c   Fri Mar  8 07:28:17 2002
***************
*** 5404,5415 ****
        else if (target_y >= it->current_y + line_height
               && IT_CHARPOS (*it) < ZV)
        {
!         /* Should move forward by at least one line, maybe more.  */
!         do
            {
!             move_it_by_lines (it, 1, 1);
            }
-         while (target_y >= line_bottom_y (it) && IT_CHARPOS (*it) < ZV);
  
          xassert (IT_CHARPOS (*it) >= BEGV);
        }
--- 5404,5427 ----
        else if (target_y >= it->current_y + line_height
               && IT_CHARPOS (*it) < ZV)
        {
!         /* Should move forward by at least one line, maybe more.
!            
!            Note: Calling move_it_by_lines can be expensive on
!            terminal frames, where compute_motion is used (via
!            vmotion) to do the job, when there are very long lines
!            and truncate-lines is nil.  That's the reason for
!            treating terminal frames specially here.  */
!         
!         if (!FRAME_WINDOW_P (it->f))
!           move_it_vertically (it, target_y - (it->current_y + line_height));
!         else
            {
!             do
!               {
!                 move_it_by_lines (it, 1, 1);
!               }
!             while (target_y >= line_bottom_y (it) && IT_CHARPOS (*it) < ZV);
            }
  
          xassert (IT_CHARPOS (*it) >= BEGV);
        }



reply via email to

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