Re: Handling invisible text in bidirectional display
martin rudalics <[email protected]>
| Newsgroups | gmane.emacs.devel,gmane.emacs.bidi |
|---|---|
| Message-ID | <[email protected]> |
> 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 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"? martin