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,v [EMACS_22_BASE]


From: Chong Yidong
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c,v [EMACS_22_BASE]
Date: Thu, 24 May 2007 23:21:33 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Branch:         EMACS_22_BASE
Changes by:     Chong Yidong <cyd>      07/05/24 23:21:32

Index: xdisp.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xdisp.c,v
retrieving revision 1.1149.2.1
retrieving revision 1.1149.2.2
diff -u -b -r1.1149.2.1 -r1.1149.2.2
--- xdisp.c     29 Apr 2007 07:26:41 -0000      1.1149.2.1
+++ xdisp.c     24 May 2007 23:21:32 -0000      1.1149.2.2
@@ -12968,6 +12968,8 @@
        w->force_start = Qt;
     }
 
+ force_start:
+
   /* Handle case where place to start displaying has been specified,
      unless the specified location is outside the accessible range.  */
   if (!NILP (w->force_start)
@@ -13147,39 +13149,15 @@
         than a simple mouse-click.  */
       if (NILP (w->start_at_line_beg)
          && NILP (do_mouse_tracking)
-         && CHARPOS (startp) > BEGV)
-       {
-#if 0
-         /* The following code tried to make BEG_UNCHANGED and
-            END_UNCHANGED up to date (similar to try_window_id).
-            Is it important to do so?
-
-            The trouble is that it's a little too strict when it
-            comes to overlays: modify_overlay can call
-            BUF_COMPUTE_UNCHANGED, which alters BUF_BEG_UNCHANGED and
-            BUF_END_UNCHANGED directly without moving the gap.
-
-            This can result in spurious recentering when overlays are
-            altered in the buffer.  So unless it's proven necessary,
-            let's leave this commented out for now. -- cyd.  */
-         if (MODIFF > SAVE_MODIFF
-             || BEG_UNCHANGED + END_UNCHANGED > Z_BYTE)
-           {
-             if (GPT - BEG < BEG_UNCHANGED)
-               BEG_UNCHANGED = GPT - BEG;
-             if (Z - GPT < END_UNCHANGED)
-               END_UNCHANGED = Z - GPT;
-           }
-#endif
-
-         if (CHARPOS (startp) > BEG + save_beg_unchanged
+         && CHARPOS (startp) > BEGV
+         && CHARPOS (startp) > BEG + save_beg_unchanged
              && CHARPOS (startp) <= Z - save_end_unchanged)
            {
-             /* There doesn't seems to be a simple way to find a new
-                window start that is near the old window start, so
-                we just recenter.  */
-             goto recenter;
-           }
+         w->force_start = Qt;
+         if (XMARKER (w->start)->buffer == current_buffer)
+           compute_window_start_on_continuation_line (w);
+         SET_TEXT_POS_FROM_MARKER (startp, w->start);
+         goto force_start;
        }
 
 #if GLYPH_DEBUG




reply via email to

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