On Thu, Jun 01, 2006 at 10:16:44PM +0300, Ilya wrote:
> Jared wrote:
> >[...]
> >When I'm in Insert mode and moving across lines, if the cursor passes over 
> >a
> >paren (defined here as any character in the matchpairs option), the cursor
> >will stay in the column position when moving to the next line.  See the
> >following code for an example:
> >
> >let g:loaded_autoit_completion = 1
> >let s:cache_name = []
> >" This function is used for the 'omnifunc' option.
> >
> >Now, if my cursor is on the '1' in the first line and I press down twice,
> >I'd expect the cursor to end up on the 'o' in 'omnifunc' in the third line.
> > However, if I'm in Insert mode and matchparen is active, then my cursor
> >will instead end up on the 'e' in 'used'.
> >
> >[...]
> I do not have this bug.

     I can reproduce it.  Perhaps we just need more explicit
instructions on how to reproduce it.  Using the text above, go to the
g:loaded_autoit_completion line and (starting in Normal mode) type

        $i<Down><Down>

to reproduce.

     I can see the problem in $VIMRUNTIME/plugin/matchparen.vim .  In
this situation, the plugin moves the cursor left one character, onto the
"]", and then back.  When this happens, vim forgets that it is trying to
keep the cursor in the same column as the "1".

     I do not see any way to fix this in the plugin.  Perhaps the
getpos() and setpos() functions can be changed so that they will keep
the information that is being lost.

HTH                                     --Benji Fisher

Reply via email to