diff options
| author | Andreas Schwab | 2003-05-26 22:07:32 +0000 |
|---|---|---|
| committer | Andreas Schwab | 2003-05-26 22:07:32 +0000 |
| commit | 2d031b89dcc51e3aab3f08495e7c5682af34505d (patch) | |
| tree | 983fbcf6b6beb4ec27deee02eace39e8ab1496d7 /src | |
| parent | d22be14d739b850360baf6621411374a93eb08d5 (diff) | |
| download | emacs-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/ChangeLog | 7 | ||||
| -rw-r--r-- | src/xdisp.c | 10 |
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 @@ | |||
| 1 | 2003-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 | |||
| 1 | 2003-05-26 John Paul Wallington <jpw@gnu.org> | 8 | 2003-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. */ |