[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bidirectional text and URLs

From: Richard Stallman
Subject: Re: Bidirectional text and URLs
Date: Mon, 01 Dec 2014 05:17:58 -0500

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

We need to make Emacs safe and clear for users who don't know anything
about bidi and don't want to.

One idea: change the mode line color when there is any RTL text
(in the buffer, or on the screen, whichever is easier).

Another idea: make magic bidi characters visible by default.  People
who edit in RTL languages and get used to bidi could set a user option
to make them invisible.

    > This is the first time I've observe RTL display in Emacs.  I don't see
    > any way to detect the magic character that specifies it.

    That's because there isn't one, in the citation you provided.

Yes there was -- you said so yourself:

  > where there is a u+202e character

The point is that I could not tell what it was, or where it was, or
anything about it, from my ordinary Emacs commands -- even though I
knew I was observing RTL text display and that some magic bidi
character was probably the reason for it.

Plenty of users wouldn't even know that much.

                                      at the rightmost (visual) edge of
  > the line.  If you move point with C-f from the beginning of that line,
  > you should see it jump to the right edge of the line after the leading
  > whitespace, and then continue to "advance backwards", i.e. to the left.

Yes, I observed that strange behavior.  As I said, it was the first time
I saw Emacs's bidi display functionality actually operate.

But I could not tell how to detect the presence of that the magic
character directly.  I could see the bidi effect, but I could not tell
what was causing it.

  > These characters are by default displayed as spaces on a TTY, and as a
  > very thin (1-pixel) space on GUI frames.

  > > I think we need to provide a way to make them visible.

  > We already have it: the glyphless-char-display char-table.

We need a convenient _user-level_ feature to make them visible.

  > I don't think so: these controls should normally be all but invisible.

We need to make it easy to see them.  Otherwise people can't tell why
strangeness is happening on their screens.

  > > Also, is there a way to disable bidi in the current buffer?
  > > If not, I think we need one.

  > There is a way, but it is not meant for Lisp programs, only for
  > debugging the display engine.

It needs to be made convenient for users.  Especially for users
who never use bidi.

You use an RTL language, so you see bidi text often and it doesn't
surprise you.  When you see it, you know what is going on.  You know
what in the buffer is likely to cause what visual results.

I don't speak any RTL language (and those characters won't display on
this tty anyway).  So I never see bidi at work, or at least not in a
way I would notice.  I get mail that might be in Arabic script, but
that's just a guess.  The messages are spam, so I delete them.

Even so, I am more knowledgeable about bidi than most Emacs users.  I
once read the the Unicode bidi rules, I just don't remember them.  I
think most Emacs users have even less knowledge of this issue.

We need to make Emacs safe and clear for users who don't know anything
about bidi and don't want to.

Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]