diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/xdisp.c | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 2c72e97b7f7..07b0418b399 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2011-10-17 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (push_display_prop): Determine whether to record string | ||
| 4 | or buffer position by IT->string, not by IT->method. Allow | ||
| 5 | GET_FROM_DISPLAY_VECTOR as IT->method on entry. (Bug#9771, part 4) | ||
| 6 | (move_it_vertically_backward): Don't look for character position | ||
| 7 | immediately after the newline when in a continuation line. | ||
| 8 | (Bug#9771, part 1) | ||
| 9 | |||
| 1 | 2011-10-15 Martin Rudalics <rudalics@gmx.at> | 10 | 2011-10-15 Martin Rudalics <rudalics@gmx.at> |
| 2 | 11 | ||
| 3 | * window.c (coordinates_in_window): Rewrite and delabelize | 12 | * window.c (coordinates_in_window): Rewrite and delabelize |
diff --git a/src/xdisp.c b/src/xdisp.c index 09de9e4b539..1f4c98f8388 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -8822,7 +8822,10 @@ move_it_vertically_backward (struct it *it, int dy) | |||
| 8822 | reordering. We want to get to the character position | 8822 | reordering. We want to get to the character position |
| 8823 | that is immediately after the newline of the previous | 8823 | that is immediately after the newline of the previous |
| 8824 | line. */ | 8824 | line. */ |
| 8825 | if (it->bidi_p && IT_CHARPOS (*it) > BEGV | 8825 | if (it->bidi_p |
| 8826 | && !it->continuation_lines_width | ||
| 8827 | && !STRINGP (it->string) | ||
| 8828 | && IT_CHARPOS (*it) > BEGV | ||
| 8826 | && FETCH_BYTE (IT_BYTEPOS (*it) - 1) != '\n') | 8829 | && FETCH_BYTE (IT_BYTEPOS (*it) - 1) != '\n') |
| 8827 | { | 8830 | { |
| 8828 | EMACS_INT nl_pos = | 8831 | EMACS_INT nl_pos = |
| @@ -18532,9 +18535,10 @@ static int | |||
| 18532 | push_display_prop (struct it *it, Lisp_Object prop) | 18535 | push_display_prop (struct it *it, Lisp_Object prop) |
| 18533 | { | 18536 | { |
| 18534 | struct text_pos pos = | 18537 | struct text_pos pos = |
| 18535 | (it->method == GET_FROM_STRING) ? it->current.string_pos : it->current.pos; | 18538 | STRINGP (it->string) ? it->current.string_pos : it->current.pos; |
| 18536 | 18539 | ||
| 18537 | xassert (it->method == GET_FROM_BUFFER | 18540 | xassert (it->method == GET_FROM_BUFFER |
| 18541 | || it->method == GET_FROM_DISPLAY_VECTOR | ||
| 18538 | || it->method == GET_FROM_STRING); | 18542 | || it->method == GET_FROM_STRING); |
| 18539 | 18543 | ||
| 18540 | /* We need to save the current buffer/string position, so it will be | 18544 | /* We need to save the current buffer/string position, so it will be |