]> git.eshelyaron.com Git - emacs.git/commitdiff
(try_window_id): Avoid aborting if PT is inside a
authorAndreas Schwab <schwab@suse.de>
Mon, 26 May 2003 22:07:32 +0000 (22:07 +0000)
committerAndreas Schwab <schwab@suse.de>
Mon, 26 May 2003 22:07:32 +0000 (22:07 +0000)
partially visible line.

src/ChangeLog
src/xdisp.c

index 94742480e9b37c0ef68614c4836a12a90855433e..5d6838ae845733633bef3955453b03e78fb1c0ab 100644 (file)
@@ -1,3 +1,10 @@
+2003-05-27  Andreas Schwab  <schwab@suse.de>
+
+       * xdisp.c (try_window_id): Avoid aborting if PT is inside a
+       partially visible line.
+
+       * alloc.c (Fgarbage_collect): Fix last change.
+
 2003-05-26  John Paul Wallington  <jpw@gnu.org>
 
        * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
index d78c25c5ba9ece886fddccb465b826e07b49e6eb..038d0694bca8ebd7f103eb9b8b1079df93940a5a 100644 (file)
@@ -12881,7 +12881,10 @@ try_window_id (w)
         the window end again, since its offset from Z hasn't changed.  */
       r0 = MATRIX_FIRST_TEXT_ROW (current_matrix);
       if (CHARPOS (start) == MATRIX_ROW_START_CHARPOS (r0) + delta
-         && BYTEPOS (start) == MATRIX_ROW_START_BYTEPOS (r0) + delta_bytes)
+         && BYTEPOS (start) == MATRIX_ROW_START_BYTEPOS (r0) + delta_bytes
+         /* PT must not be in a partially visible line.  */
+         && !(PT >= MATRIX_ROW_START_CHARPOS (row) + delta
+              && MATRIX_ROW_BOTTOM_Y (row) > window_text_bottom_y (w)))
        {
          /* Adjust positions in the glyph matrix.  */
          if (delta || delta_bytes)
@@ -12926,7 +12929,10 @@ try_window_id (w)
         as is, without changing glyph positions since no text has
         been added/removed in front of the window end.  */
       r0 = MATRIX_FIRST_TEXT_ROW (current_matrix);
-      if (TEXT_POS_EQUAL_P (start, r0->start.pos))
+      if (TEXT_POS_EQUAL_P (start, r0->start.pos)
+         /* PT must not be in a partially visible line.  */
+         && !(PT >= MATRIX_ROW_START_CHARPOS (row)
+              && MATRIX_ROW_BOTTOM_Y (row) > window_text_bottom_y (w)))
        {
          /* We have to compute the window end anew since text
             can have been added/removed after it.  */