Martin Vermeer wrote:
On Sun, Nov 04, 2007 at 12:56:40AM +0200, Dov Feldstern wrote:
Hi!
Attached find the final patch (at least for now) which gets rid of LTR
bias in the code. I will commit in the next few days if there are no
objections.
The only non-trivial change (i.e., more than just changing function
names) is that I merged idxLeft into idxPrev, and idxRight into idxNext.
Does this seem OK?
Hmmm... this is only for math, right?
Yes, except that the idxFoo methods are also declared in Inset.h
OK, thanks for the feedback below. And Andre' has pointed out
specifically why idxLeft and idxPrev are *not* synonymous. So I will
rework the whole idxFoo methods part.
Aren't math formulas always written in LtR order (or more correctly, in
the same order that we Latins do it), also within Hebrew/Arabic
documents?
Yes, this is correct.
I am a bit apprehensive about this, because math thinking is very
visual. There, left is left and right is right, like on a blackboard
(all gifted mathematicians have a "mental blackboard" on which they also
play chess etc.)
Yes, this is also correct (well, except for the chess part maybe, I'm
not sure about that one ;) ).
You may notice also that the idxLeft/idxRight functions are bound to the
leftarrow/rightarrow cursor keys,
Actually, I don't see this. Where is this binding?
which we earlier agreed (IIRC) were
hardwired to physical left and right motion.
Not exactly. In the earlier stages of this patch series, I've organized
things so that now left really binds to the left LFUN, and right to
right. However, what the LFUNs actually do still depends on a few things:
*) if the mode is visual, then left will move visually left, and right
will move visually right. This mode does not yet exist, though.
*) if the mode is logical (the only mode which currently exists),
behavior is as follows:
- only the direction of the *paragraph* (let's call it parDir) is
used to determine the actual motion (this is necessary in order to avoid
situations in which the cursor "gets stuck" in the middle of a paragraph).
- if parDir == LTR, then left moves logically backwards, right moves
logically forward
- if parDir == RTL, then left moves logically forward, right moves
logically backward
So it's still slightly more complicated.
However, as I said, I will think this part over.
- Martin
Again, thanks for the input,
Dov