Vincent van Ravesteijn - TNW wrote:

(2) However, #5061 still exists when boundary is set to true for a correct reason; for example, try this recipe:

- create a new file
- insert an equation
- press the right arrow key to jump out of the equation
- press Ctrl-Return
- switch the language to an RTL language (e.g., Hebrew)

Result: The cursor jumps back up to the same line as the newline, and must type some character to get correctly rendered on the new line.

Why is it correct that the boundary is true in this case ? I probably
haven't thought enough about RTL-LTR boundaries, but either
- you don't want the cursor to be painted on the row of the newline,
which means boundary should be false, or
- you want to paint the cursor before the newline, but then the
cur.pos() is wrong.


Yes, you're right. After looking over the code, I agree that the problem is that boundary should not be set to true in this case.

I've started working on a fix, but every fix breaks some other edge case. For now, the fact that the main case is fixed should be good enough. (All remaining problematic cases that I've noticed involve Bidi text.) I'll try to get a fix for the other cases in the next few days, but I'm not sure I'll have time for this...

Dov


Reply via email to