Stefan Schimanski wrote:
As promised, here it is. This is the way to do it. It includes our former patch for cursorLeft/Right to avoid boundary magic on RTL-boundaries.

I don't understand what I'm supposed to apply this patch against.


@Dov: For the example where your patch was wrong, make a selection, starting in an RTL paragraph, ending in a LTR paragraph. One of the two sides will "see" the correct RTL setting by looking at the buffer's cursor. The other one (the cursorX call for the anchor) will also look there, but the information in the buffer's cursor has no relation to the that position.

Stefan

I don't totally follow your explanation, but the fact is that the end behavior is still correct (using Elazar's patch) in the case you describe. OTOH, the selection patch from yesterday is *not* behaving correctly.

To illustrate (with Elazar's patch for cursor movement, your patch from yesterday for selection):

        [IHG]FED

When pressing LEFT, cursor moves from after E -> after F -> Before G (inside footnote). This is correct.

When selecting by SHIFT and pressing LEFT starting after D, selection shows up as: "E" -> "[IHG]FE". But really, only "FE" is selected (you can convince yourself of this by deleting). Continuing to select LEFT again doesn't show any difference in the way the selection is, but the cursor correctly moves to after the inset, and now everything really is selected.

I haven't tried your new patch yet (see above), but if it's using the same logic as the selection, then it may also be wrong... I'll try it anyway if you'll explain what to apply it against...

Thanks!
Dov

Reply via email to