Re: Bidirectional editing in Emacs -- main design decisions

Stefan Monnier <[email protected]> Tue, 19 Apr 2011 10:11:33 -0300
Newsgroups gmane.emacs.devel,gmane.emacs.bidi
Message-ID <[email protected]>
> After careful thought, I changed my mind about this part.  Whenever
> the redisplay iterator finds text that is covered by a `display' text
> property or by an overlay with a `display', `before-string', or
> `after-string' property, it will not stop reordering.  Instead, it
> will treat the entire run of text covered by the text property or
> overlay as a single atomic entity, and will reorder it as if it were a
> single special character whose name in Unicode is OBJECT REPLACEMENT
> CHARACTER (u+FFFC).  This character's bidirectional category (Other
> Neutral) and other properties are designed so that it can stand for
> display features such as embedded images, and in particular it is
> reordered as appropriate for such embedded objects.

> This will reorder images and display strings in the same way wrt
> surrounding text, which I think is reasonable.  It is also in line
> with the pre-Emacs 24 unidirectional display engine, which skipped the
> text covered by such properties in one go, after displaying the image
> or a display string specified by the property.

It sounds very reasonable, but at the same time I don't understand in
which way it differs from your earlier opinion that it should "stop
reordering" (whose meaning is very unclear to me).


        Stefan