2012/11/15 Eli Zaretskii <eliz_at_gnu.org>
> drawback in that some RIGHT keypresses don't move the logical-order
> position of the caret. In a programmable editor such as Emacs this is
> unacceptable, because editor macros and commands that use the basic
> forward-char command will not arrive at the place where they are
> expected.
Of course. But you cannot be consistantly used BOTH the logical order for
moves AND the visual order at the same time.
In all cases, the editor must be consistant when working either at the
logical insertion point, acting in a consistant foreward direction, OR
using a single vsual position and respecting the LEFT and RIGHT direction,
but then the same vsual position will point to different logical positions.
A choice has to be made (and the problem is completely equivalent in either
choices, with exactly the same complexity). If you want to use the LEFT and
RIGHT key according to the visual direction, then you cannot count
characters in the foreward direction by just pressing the same key. But
then you don't need two carets at all as the second one will not respect
the consistant direction.
I tend to think that the editor should use a consistant foreward direction
(logical), because this is how you type the characters : the caret will
already "jump" in reverse directions just as you're only typing text. In
that case the LEFT and RIGHT arrow keys should reflect a consistant
backward/foreward (logical) direction. The real mapping of these arrow keys
is not a constant direction but these logical directions (backward,
foreward), just like as well the BACKSPACE/CORRECTION key and the DELETE
key, or the LINE UP/DOWN keys, or the HOME/END keys, or the PAGE UP/DOWN
keys.
Received on Thu Nov 15 2012 - 12:16:30 CST
This archive was generated by hypermail 2.2.0 : Thu Nov 15 2012 - 12:16:31 CST