Subject: bug#43207: 26.3; Strange bidi behavior

From: [email-masked] (Niels Möller)
Date: Sat, 05 Sep 2020 08:46:51 +0200

Eli Zaretskii <[email-masked]> writes:

> It is not a bug, but the expected behavior.  The display of
> bidirectional text is affected by the "base paragraph direction", and
> in Emacs paragraphs are separated by empty lines.  Since there's no
> empty line between the Arabic text and the following lines of Latin
> text, that Latin text "inherits" the base paragraph direction of
> right-to-left, set by the line that has only the Arabic text.

Thanks for the explanation. So if the base paragraph direction is
right-to-left, then right arrow is supposed to move logical backwards,
like C-b.

> You can either insert an empty line between that Arabic line, 

Is there any way to tell emacs that a new paragraph starts, without
inserting anything visible in the buffer? Some special unicode
character, or emacs text property?

> But this is how most bidi-supporting applications out there behave.

For what it's worth, display in firefox works differently. The line of
arabic text is right-to-left and right-justified on the screen, but
following lines are left-to-right, more like what I expected. So it
seems to use a different parapgraph heuristics than emacs.

> If you prefer the arrow keys to move the cursor visually, you can do
>
>   M-x set-variable RET visual-order-cursor-movement RET t RET
>
> (This is also in the manual.)

I was also able to find this setting via the documentation for
left-char/right-char. That's nice.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.