2012/11/15 Eli Zaretskii <[email protected]> > 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.

