aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Schwab2003-05-26 22:07:32 +0000
committerAndreas Schwab2003-05-26 22:07:32 +0000
commit2d031b89dcc51e3aab3f08495e7c5682af34505d (patch)
tree983fbcf6b6beb4ec27deee02eace39e8ab1496d7 /src
parentd22be14d739b850360baf6621411374a93eb08d5 (diff)
downloademacs-2d031b89dcc51e3aab3f08495e7c5682af34505d.tar.gz
emacs-2d031b89dcc51e3aab3f08495e7c5682af34505d.zip
(try_window_id): Avoid aborting if PT is inside a
partially visible line.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/xdisp.c10
2 files changed, 15 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 94742480e9b..5d6838ae845 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12003-05-27 Andreas Schwab <schwab@suse.de>
2
3 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
4 partially visible line.
5
6 * alloc.c (Fgarbage_collect): Fix last change.
7
12003-05-26 John Paul Wallington <jpw@gnu.org> 82003-05-26 John Paul Wallington <jpw@gnu.org>
2 9
3 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default. 10 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
diff --git a/src/xdisp.c b/src/xdisp.c
index d78c25c5ba9..038d0694bca 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -12881,7 +12881,10 @@ try_window_id (w)
12881 the window end again, since its offset from Z hasn't changed. */ 12881 the window end again, since its offset from Z hasn't changed. */
12882 r0 = MATRIX_FIRST_TEXT_ROW (current_matrix); 12882 r0 = MATRIX_FIRST_TEXT_ROW (current_matrix);
12883 if (CHARPOS (start) == MATRIX_ROW_START_CHARPOS (r0) + delta 12883 if (CHARPOS (start) == MATRIX_ROW_START_CHARPOS (r0) + delta
12884 && BYTEPOS (start) == MATRIX_ROW_START_BYTEPOS (r0) + delta_bytes) 12884 && BYTEPOS (start) == MATRIX_ROW_START_BYTEPOS (r0) + delta_bytes
12885 /* PT must not be in a partially visible line. */
12886 && !(PT >= MATRIX_ROW_START_CHARPOS (row) + delta
12887 && MATRIX_ROW_BOTTOM_Y (row) > window_text_bottom_y (w)))
12885 { 12888 {
12886 /* Adjust positions in the glyph matrix. */ 12889 /* Adjust positions in the glyph matrix. */
12887 if (delta || delta_bytes) 12890 if (delta || delta_bytes)
@@ -12926,7 +12929,10 @@ try_window_id (w)
12926 as is, without changing glyph positions since no text has 12929 as is, without changing glyph positions since no text has
12927 been added/removed in front of the window end. */ 12930 been added/removed in front of the window end. */
12928 r0 = MATRIX_FIRST_TEXT_ROW (current_matrix); 12931 r0 = MATRIX_FIRST_TEXT_ROW (current_matrix);
12929 if (TEXT_POS_EQUAL_P (start, r0->start.pos)) 12932 if (TEXT_POS_EQUAL_P (start, r0->start.pos)
12933 /* PT must not be in a partially visible line. */
12934 && !(PT >= MATRIX_ROW_START_CHARPOS (row)
12935 && MATRIX_ROW_BOTTOM_Y (row) > window_text_bottom_y (w)))
12930 { 12936 {
12931 /* We have to compute the window end anew since text 12937 /* We have to compute the window end anew since text
12932 can have been added/removed after it. */ 12938 can have been added/removed after it. */