emacs-devel
[Top][All Lists]
Advanced

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

Re: Bidirectional text and URLs


From: Eli Zaretskii
Subject: Re: Bidirectional text and URLs
Date: Mon, 01 Dec 2014 05:45:07 +0200

> From: Lars Magne Ingebrigtsen <address@hidden>
> Cc: address@hidden
> Date: Sun, 30 Nov 2014 22:36:41 +0100
> 
> Eli Zaretskii <address@hidden> writes:
> 
> > Can we please take a step back and try to identify the real problem
> > here?  What exactly are we trying to detect and handle?  Is it true
> > that we are trying to detect URLs whose characters got their "normal"
> > bidirectional properties overridden by some directional control
> > characters?  If so, I can write a primitive that will take a region of
> > buffer text and examine it to detect this.
> 
> Oh, great.  My impression was that such functionality was off the table.

Why would it be off the table?

Anyway, if you want this, please show the API of the function -- what
it should return and how.

> > Next, given that you have detected the spoofed URL, what do you want
> > to do with it?  Do you want to highlight it, do you want to de-spoof
> > (i.e. undo the spoofing) in some way, but still leave some indication
> > of the fact that it was spoofed, or maybe you want to remove any trace
> > of the spoofing as if it never happened (and leave the user oblivious
> > to the fact it did)?
> 
> Yes, I want to unspoof the URL.  Adding some markings to notify that
> this has been done would also be nice, perhaps by adding a 'warning face
> to the text or the like.

Then putting a display property on the offending RLO might be the best
solution.

> > Given the answers to those questions, there's any number of possible
> > solutions that do NOT require inserting more directional controls.
> > Some of the possible solutions were already mentioned in this thread.
> > Here's another: cover the offending RLO with a display property
> > showing whatever you want -- a warning sign, a smiley, a string made
> > of a SPC character, anything.  You can try it with your example: you
> > will see the spoofing gone immediately.  Why is this worse than
> > inserting directional controls whose effect on the surrounding text
> > can be far reaching?
> 
> RLOs are used legitimately, and I think they display you've selected for
> them now (a thin blank line) is good.

Yes, but adding RLOs or LROs just to undo some evil effect is
something I think we should avoid, because its effect is non-local and
can frequently be surprising and unintended.  It is better to use
other means we have.

> So I don't want to uglify mail mode buffers just to handle this
> quite obscure URL UI problem.

Where do you see uglification in my suggestions?

> (Ok, bad example, but these overrides are used legitimately in the bidi
> community, if I understand my extensive research correctly.)

They are meant for very specific situations, and this one isn't one of
them.

> And displaying ‮http://myspace.com/#/segami/moc.koobecaf//:sptth‬ with a
> couple of visible control characters doesn't really solve the problem,
> because most people will still assume that that's a link to Facebook,
> not to Myspace.  Most people are not even aware that this bidi stuff
> exists.

Under my suggestion to cover the overrides with a display property,
the URL will not be reversed on display.  Did you try that?




reply via email to

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