Fix the change with paragraph_dir initialization.

src/bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
 some callers set that themselves.
 src/xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
 itb.paragraph_dir to NEUTRAL_DIR.  Fixes an occasional incorrect
 cursor motion with <left> and <right> arrow keys.
This commit is contained in:
Eli Zaretskii 2011-10-13 13:17:32 +02:00
parent 3e72c16e98
commit d4172c3be9
3 changed files with 10 additions and 1 deletions

View file

@ -1,3 +1,12 @@
2011-10-13 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
itb.paragraph_dir to NEUTRAL_DIR. Fixes an occasional incorrect
cursor motion with <left> and <right> arrow keys.
* bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
some callers set that themselves.
2011-10-12 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (find_row_edges): Handle the case where ROW comes from a

View file

@ -808,7 +808,6 @@ bidi_init_it (EMACS_INT charpos, EMACS_INT bytepos, int frame_window_p,
bidi_it->nchars = -1; /* to be computed in bidi_resolve_explicit_1 */
bidi_it->first_elt = 1;
bidi_set_paragraph_end (bidi_it);
bidi_it->paragraph_dir = NEUTRAL_DIR;
bidi_it->new_paragraph = 1;
bidi_it->separator_limit = -1;
bidi_it->type = NEUTRAL_B;

View file

@ -19484,6 +19484,7 @@ See also `bidi-paragraph-direction'. */)
bytepos--;
}
bidi_init_it (pos, bytepos, FRAME_WINDOW_P (SELECTED_FRAME ()), &itb);
itb.paragraph_dir = NEUTRAL_DIR;
itb.string.s = NULL;
itb.string.lstring = Qnil;
itb.string.bufpos = 0;