Abdelrazak Younes wrote:
Dov, please verify this.


-void InsetTabular::edit(Cursor & cur, bool, EntryDirectionType) +void InsetTabular::edit(Cursor & cur, bool, EntryDirectionType direction)
 {
     //lyxerr << "InsetTabular::edit: " << this << endl;
     cur.finishUndo();
     cur.selection() = false;
     cur.push(*this);
-    if (left) {
+    if (direction == ENTER_FROM_LEFT) {
         if (isRightToLeft(cur))
             cur.idx() = tabular.getLastCellInRow(0);
         else





This was an oversight on my part --- I didn't realize that 'left' was being used in the function. I don't understand how it compiled, though?

Anyhow, I fixed it in r22967. This is now equivalent to what used to be there, and I didn't intend to change anything --- I haven't gotten around to implementing visual mode in tables, yet --- that's what I intend to do next.

The reason that this is the equivalent of what was there previously, and not what you put in, is this: What my visual patches did was to change the name of 'left' to 'front'. This parameter signifies that we are entering the inset at the 'front' (which is the 'left' in LTR, but not in RTL, and that's why I changed the name).

'direction' is a new beast, which is only relevant to visual mode. In this mode, we *do* want to know what direction visually we are entering the inset from, in addition to whether it's from the front or back. But as I said, visual mode is not implemented for tables, yet, so for now this function should remain unchanged.

BTW, I also tested this out in an RTL document, just to make sure...

Anyhow, thanks Abdel for spotting my bug, and drawing my attention to it!

Dov

Reply via email to