[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105414: Really fix bug #9224 with ve
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105414: Really fix bug #9224 with vertical-motion under word-wrap. |
Date: |
Sat, 06 Aug 2011 14:49:35 +0300 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105414
fixes bug(s): http://debbugs.gnu.org/9224
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2011-08-06 14:49:35 +0300
message:
Really fix bug #9224 with vertical-motion under word-wrap.
src/xdisp.c (move_it_in_display_line_to): Fix vertical-motion in a buffer
with word-wrap under bidirectional display.
modified:
src/ChangeLog
src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-08-06 10:59:36 +0000
+++ b/src/ChangeLog 2011-08-06 11:49:35 +0000
@@ -3,6 +3,8 @@
* xdisp.c (set_cursor_from_row): Fix cursor positioning when a
display property strides EOL and includes a newline, as in
longlines-mode. (Bug#9254)
+ (move_it_in_display_line_to): Fix vertical-motion in a buffer with
+ word-wrap under bidirectional display. (Bug#9224)
* bidi.c (bidi_unshelve_cache): Don't reset the cache if JUST_FREE
is non-zero, even if the data buffer is NULL. Fixes a crash in
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2011-08-06 10:59:36 +0000
+++ b/src/xdisp.c 2011-08-06 11:49:35 +0000
@@ -8009,13 +8009,19 @@
positions smaller than TO_CHARPOS, return
MOVE_POS_MATCH_OR_ZV, like the unidirectional display
did. */
- if (it->bidi_p && (op & MOVE_TO_POS) != 0
- && !saw_smaller_pos
- && IT_CHARPOS (*it) > to_charpos)
+ if (it->bidi_p && (op & MOVE_TO_POS) != 0)
{
- if (IT_CHARPOS (ppos_it) < ZV)
- RESTORE_IT (it, &ppos_it, ppos_data);
- goto buffer_pos_reached;
+ if (!saw_smaller_pos && IT_CHARPOS (*it) > to_charpos)
+ {
+ if (IT_CHARPOS (ppos_it) < ZV)
+ RESTORE_IT (it, &ppos_it, ppos_data);
+ goto buffer_pos_reached;
+ }
+ else if (it->line_wrap == WORD_WRAP && atpos_it.sp >= 0
+ && IT_CHARPOS (*it) > to_charpos)
+ goto buffer_pos_reached;
+ else
+ result = MOVE_NEWLINE_OR_CR;
}
else
result = MOVE_NEWLINE_OR_CR;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105414: Really fix bug #9224 with vertical-motion under word-wrap.,
Eli Zaretskii <=