Tom Link wrote:
> A user complained that a plugin of mine broke cursor movement. He
> writes:
>
> > have a text file:
> >
> > xxxxxxxxxxFxxxxxxxxxxxxxxxExx
> > yyyyyyyyyyD
> > zzzzzzzzzzzzzzzzzzzzzzzzzzCzzzzz
> >
> > Position cursor at C, move up a line: you're on D, move up, you're on
> > E. However, when I've quickfixsigns in plugin, I land at F instead of
> > E.
>
> It seems the problem is caused by CursorMoved(I) autocommands.
>
> The problem becomes apparent when evaluating the following code:
>
> function! QuickfixsignsSet(event)
> let lz = &lazyredraw
> set lz
> let &lz = lz
> endf
>
> autocmd CursorMoved * call QuickfixsignsSet("CursorMoved")
>
> If this is intended, this interaction should probably be added the
> the help section of CursorMoved(I).
The problem is caused by setting the 'lazyredraw' option, it causes the
cursor column to be computed. Even though that is not needed. It's
actually done for all boolean options. The comment says it's for when
the 'list' option is changed, which makes sense. Any other boolean
option that changes the cursor column on the screen?
--
Corduroy pillows: They're making headlines!
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---