+ if (TEXT(bv)->cursor.par()->isRightToLeftPar(bv->buffer()->params))
+ return moveLeftIntern(bv, false, activate_inset, selecting);
+ else
+ return moveRightIntern(bv, false, activate_inset, selecting);
+}
+
+UpdatableInset::RESULT
+InsetText::moveLeft(BufferView * bv, bool activate_inset, bool selecting)
+{
+ if (TEXT(bv)->cursor.par()->isRightToLeftPar(bv->buffer()->params))
+ return moveRightIntern(bv, true, activate_inset, selecting);
+ else
+ return moveLeftIntern(bv, true, activate_inset, selecting);
+}
+
+
+UpdatableInset::RESULT
+InsetText::moveRightIntern(BufferView * bv, bool behind,
+ bool activate_inset, bool selecting)
+{
+#ifndef NEW_INSETS
+ if (!cpar(bv)->next_ && (cpos(bv) >= cpar(bv)->Last()))
+#else
+ if (!cpar(bv)->next() && (cpos(bv) >= cpar(bv)->size()))
+#endif