]> git.eshelyaron.com Git - emacs.git/commitdiff
(redisplay_window): Check return value of
authorChong Yidong <cyd@stupidchicken.com>
Mon, 28 Jul 2008 19:37:08 +0000 (19:37 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Mon, 28 Jul 2008 19:37:08 +0000 (19:37 +0000)
compute_window_start_on_continuation_line before forcing a window
start.

src/xdisp.c

index 88882cf1a1d43cf5cdf51f7bfd512c74b976178b..431541c608d0a8af1b636ce5cb2d6d4c97af3677 100644 (file)
@@ -13658,11 +13658,16 @@ redisplay_window (window, just_this_one_p)
          && NILP (do_mouse_tracking)
          && CHARPOS (startp) > BEGV
          && CHARPOS (startp) > BEG + beg_unchanged
-         && CHARPOS (startp) <= Z - end_unchanged)
+         && CHARPOS (startp) <= Z - end_unchanged
+         /* Even if w->start_at_line_beg is nil, a new window may
+            start at a line_beg, since that's how set_buffer_window
+            sets it.  So, we need to check the return value of
+            compute_window_start_on_continuation_line.  (See also
+            bug#197).  */
+         && XMARKER (w->start)->buffer == current_buffer
+         && compute_window_start_on_continuation_line (w))
        {
          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;
        }