Fix the change with paragraph_dir initialization.
authorEli Zaretskii <eliz@gnu.org>
Thu, 13 Oct 2011 11:17:32 +0000 (13:17 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 13 Oct 2011 11:17:32 +0000 (13:17 +0200)
 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.

src/ChangeLog
src/bidi.c
src/xdisp.c

index cf0644f..e7cd833 100644 (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
index d6be41f..f06c146 100644 (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;
index 01472a6..13bb0f7 100644 (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;