[Top][All Lists]

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

Re: Handling invisible text in bidirectional display

From: martin rudalics
Subject: Re: Handling invisible text in bidirectional display
Date: Sun, 17 Jan 2010 09:59:17 +0100
User-agent: Thunderbird (Windows/20090302)

> If you mean how would their characters be reordered for display, I
> described that in my mail Re: "Bidirectional editing in Emacs -- main
> design decisions", back in October.  I reproduce the relevant excerpt
> below.
> If you mean overlays with display properties in some combination with
> invisible text, please describe the situation in more detail, because
> I'm not sure I see the difficulty.

I meant neither of them.  From your initial example:

> For example, suppose the buffer includes the following text (capital
> letters stand for right-to-left characters):
>   abcABCxyz

Suppose I put an overlay from the position between "b" and "c" to the
position between "A" and "B" (just like your invisibility property) and
give that overlay a display property, say the character "D".

> This would normally be displayed like this:
>   abcCBAxyz

Should we now see "abDxyz", "abDAxyz", "abDCBDxyz", or something else?
Note that the "D" is quite similar to the ellipses for invisible text
you mentioned earlier.  This issue is obviously not very important -
after all an overlay is probably misplaced if its start and end are in
text displayed in different directions - but would have to be solved
somehow anyway.

BTW, I'm not even sure whether

> The current code would skip C and x, and stop on y.  But because C is
> encountered when moving backwards from C to A, that causes us to miss
> A and B entirely and display
>   abcyz
> which is clearly incorrect.

_is_ "clearly incorrect".  Conversely, suppose I have the displayed text


with `point' between "b" and "c" and `mark' between "C" and "B" - no
overlays or text properties involved.  When I now kill the region what
will show up on the kill ring - "cAB" or "cC"?


reply via email to

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