Subject: bug#9571: 24.0.50; user option to turn off bidi, please

From: Eli Zaretskii <[email-masked]>
Date: Sat, 24 Sep 2011 22:15:47 +0300

> Date: Sat, 24 Sep 2011 13:30:41 -0400
> From: Richard Stallman <[email-masked]>
> CC: [email-masked], [email-masked]
> 
> 
> Ok, my proposed patch won't do the job.  But wouldn't a slightly more
> complicated patch in the same place do the job?

It could be done, but why hard-code in C what can be done in Lisp?
The advantage would be that more people will understand the code and
changing it does not require rebuilding Emacs.

> The method of replacing the unicode property table seems to have
> several drawbacks:
> 
> 1. Creating the modified table is more work.

I don't understand why: we have map-char-table to do that easily and
elegantly.

> 2. It is a big data structure, so having another one would be a waste.

I don't think modifying entries in a char-table creates a new one.  It
just modifies entries in the existing one.  Perhaps Handa-san could
comment on that.

> 3. It feels wrong to alter the information describing the characters.
> This is a matter of choosing a different way to display some characters,
> not a matter of redefining what they mean.

The information I propose to change is used only for reordering
characters into visual order.  I'm talking about the Bidi_class
attribute of the characters.  No other attribute needs to be changed.
And the change will be temporary; toggling the feature off will
restore the original types.