Opened 19 years ago

Closed 18 years ago

Last modified 17 years ago

#2581 closed defect (fixed)

wrong cursor placement when editing sub/superscripts

Reported by: Uwe Stöhr Owned by: poenitz
Priority: high Milestone: 1.5.0
Component: mathed Version: 1.4.1
Severity: normal Keywords: regression patch
Cc: sts@…

Description

Create a new formula and type in:
A_u
now you're in a subscript behind the "u". You want now to add a superscript and
press the uparrow button to jump behind the "A" to be able to generate the
superscript with 2. This wroks fine in LyX 1.3.x but in LyX 1.4 the cursor
jumps before the script inset when you press the uparrow key.
That means in LyX 1.3 you can enter the sequence:
A_u uparrow
2
In LyX 1.4 you have to enter:
A_u uparrow rightarrow rightarrow 2
Which costs a lot of time.
The same problem appear when you're in a superscript and press the downarrow key.

Attachments (1)

updownscript.patch (595 bytes ) - added by sts@… 18 years ago.
Moving up from lower index shouldn't depend on existance of upper (and other way round)

Download all attachments as: .zip

Change History (15)

comment:1 by Uwe Stöhr, 19 years ago

Keywords: regression added

comment:2 by younes, 18 years ago

In 1.4 and 1.5 you can enter
A_u rightarrow 2

This is as fast as 1.3 and IMHO more intuitive. I thus believe this is no
regression and this bug should be closed.

comment:3 by Georg Baum, 18 years ago

Of course this is a regression. Even if there is another way in this case, the
1.4 behaviour is not logical, so at the very least it confuses users. And if
you have e.g. a longer fraction in the subscript you have to press rightarrow a
lot until you get out. The version with the uparrow key would require less
keystrokes.

comment:4 by sts@…, 18 years ago

Cc: sts@… added

comment:5 by sts@…, 18 years ago

What is the consensus here? It's not hard to implement either version. But which
one is right?

comment:6 by Georg Baum, 18 years ago

There is only one version that would need implementing: the one used in 1.3.
That is IMO the correct one, and AFAIK the current behaviour was not introduced
intentionally, but as a side effect.

comment:7 by sts@…, 18 years ago

So the 1.3 way is: x_|i -> x|_i ?

comment:8 by Uwe Stöhr, 18 years ago

Milestone: 1.5.0

So the 1.3 way is: x_|i -> x|_i ?

I don't know what you mean. The difference is:

That means in LyX 1.3 you can enter the sequence:
A_u uparrow 2
In LyX 1.4 you have to enter:
A_u uparrow rightarrow rightarrow
2

comment:9 by sts@…, 18 years ago

Ok, that's what I meant. Currently the stack of the CursorSlices is decreases
slice by slice. In the case of scripts the script inset is at the top if you are
in the script. Then on cursor up this inset is removed from the stack and the
cursor is in front of it.

The 1.3 behaviour needs an implementation of InsetMathScript::idxUpDown to put
the cursor behind the kernel.

by sts@…, 18 years ago

Attachment: updownscript.patch added

Moving up from lower index shouldn't depend on existance of upper (and other way round)

comment:10 by Uwe Stöhr, 18 years ago

Keywords: patch added

comment:11 by Uwe Stöhr, 18 years ago

Works perfect. Could you please send it to the list to get another OK, you have
mine.

comment:12 by sts@…, 18 years ago

Keywords: fixedintrunk added

Fixed in trunk

comment:13 by Richard Heck, 18 years ago

Resolution: fixed
Status: newclosed

New stable series is 1.5.x.

comment:14 by ps@…, 17 years ago

Keywords: fixedintrunk removed
Note: See TracTickets for help on using tickets.