> Date: Sun, 17 Jan 2010 09:59:17 +0100 > From: martin rudalics <[email protected]> > CC: [email protected], [email protected] > > > 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?
"abDCBxyz", I believe. c and A are displayed as D, but the rest of the characters should be visible. > Note that the "D" is quite similar to the ellipses for invisible text > you mentioned earlier. No, it's different. The ellipsis shows that some text is hidden, so if we have several stretches of hidden text, it is reasonable to show an ellipsis for each stretch. By contrast, a display property says, in effect, to display the string _instead_ of the entire text covered by the overlay, so it should be displayed only once. > 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 > > abcCBAxyz > > 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"? I didn't introduce a ``visual-order'' killing, so text is still killed in the logical order. Therefore, the characters that will be killed and appear in the kill ring are cAB (displayed as "cBA"), and the resulting display after killing will be "abCxyz". Makes sense? _______________________________________________ emacs-bidi mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-bidi
