Commit 5872c762 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Fix current-bidi-paragraph-direction within whitespace chars.

 xdisp.c (Fcurrent_bidi_paragraph_direction): Fix paragraph
 direction when point is inside a run of whitespace characters.
 bidi.c (bidi_at_paragraph_end): Remove obsolete comment.
parent f5a62bb4
2010-08-14 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (Fcurrent_bidi_paragraph_direction): Fix paragraph
direction when point is inside a run of whitespace characters.
* bidi.c (bidi_at_paragraph_end): Remove obsolete comment.
2010-08-14 Jason Rumney <jasonr@gnu.org>
 
* keyboard.c (lispy_function_keys): Do not define VK_PACKET (bug#4836)
......
......@@ -497,7 +497,6 @@ bidi_peek_at_next_level (struct bidi_it *bidi_it)
static EMACS_INT
bidi_at_paragraph_end (EMACS_INT charpos, EMACS_INT bytepos)
{
/* FIXME: Why Fbuffer_local_value rather than just Fsymbol_value? */
Lisp_Object sep_re;
Lisp_Object start_re;
EMACS_INT val;
......
......@@ -17962,16 +17962,22 @@ See also `bidi-paragraph-direction'. */)
struct bidi_it itb;
EMACS_INT pos = BUF_PT (buf);
EMACS_INT bytepos = BUF_PT_BYTE (buf);
int c;
 
if (buf != current_buffer)
set_buffer_temp (buf);
/* Find previous non-empty line. */
/* bidi_paragraph_init finds the base direction of the paragraph
by searching forward from paragraph start. We need the base
direction of the current or _previous_ paragraph, so we need
to make sure we are within that paragraph. To that end, find
the previous non-empty line. */
if (pos >= ZV && pos > BEGV)
{
pos--;
bytepos = CHAR_TO_BYTE (pos);
}
while (FETCH_BYTE (bytepos) == '\n')
while ((c = FETCH_BYTE (bytepos)) == '\n'
|| c == ' ' || c == '\t' || c == '\f')
{
if (bytepos <= BEGV_BYTE)
break;
......@@ -17983,6 +17989,7 @@ See also `bidi-paragraph-direction'. */)
itb.charpos = pos;
itb.bytepos = bytepos;
itb.first_elt = 1;
itb.separator_limit = -1;
 
bidi_paragraph_init (NEUTRAL_DIR, &itb);
if (buf != current_buffer)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment