On Thu, Apr 07, 2005 at 07:40:26AM +0300, Martin Vermeer wrote:
> See the attached patch, which does the job. 
> 
> There are obvious further simplifications possible.
> 
> - Martin
> 
> 

> Index: math_nestinset.C
> ===================================================================
> RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_nestinset.C,v
> retrieving revision 1.149
> diff -u -r1.149 math_nestinset.C
> --- math_nestinset.C  6 Apr 2005 19:01:55 -0000       1.149
> +++ math_nestinset.C  7 Apr 2005 04:37:13 -0000
> @@ -473,8 +473,6 @@
>               } else if (cur.posRight() || idxRight(cur)
>                       || cur.popRight() || cur.selection())
>                       ;
> -             else
> -                     cmd = FuncRequest(LFUN_FINISHED_RIGHT);
>               break;

Can you still leave a math (hull) inset with cursor-right after that?

> +             if (cur.inMacroMode()) break;

'break' on a new line please.

> @@ -564,7 +563,8 @@
>                       cur.idx() = cur.lastidx();
>                       cur.pos() = cur.lastpos();
>               } else {
> -                     cmd = FuncRequest(LFUN_FINISHED_RIGHT);
> +                     cur.popRight();
> +                     cur.pos() = cur.lastpos();
>               }
>               break;
>  

This is the wrong approach as it makes an assumption on how the parent
would handle the request (set pos to last pos). Even if this might work
in particular case no inset should make such an assumption.

LFUN_FINISHED_RIGHT says 'leave this inset but let my parent handle the
details'.

Andre'

Reply via email to