Monday, March 20, 2017

Re: Matchit plugin modifying virtualedit

David Fishburn wrote:

> :ver
> VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jan 24 2017 13:37:57)
> MS-Windows 32-bit GUI version with OLE support
> Included patches: 1-233
>
> I have realized virtualedit keeps getting set on me, so I ran:
>
> :verbose set virtualedit?
> virtualedit=all
> Last set from c:\vim\vim80\pack\dist\opt\matchit\plugin\matchit.vim
>
> Briefly looking it, there are many calls to:
>
> function! s:Match_wrapper(word, forward, mode) range
> " In s:CleanUp(), :execute "set" restore_options .
> let restore_options = (&ic ? " " : " no") . "ignorecase"
> if exists("b:match_ignorecase")
> let &ignorecase = b:match_ignorecase
> endif
> let restore_options = " ve=" . &ve . restore_options
> set ve=
> ...
> return s:CleanUp(restore_options, a:mode, startline, startcol,
> mid.'\|'.fin)
> ...
>
> So, it looks this shouldn't be happening.
> Is anyone else running into this?
>
> I triggered it by simply hitting % on a { in a Java file.

It's very possible that it's set somewhere else. The problem is that
the matchit plugin always sets it empty, also when it already was empty.

let restore_options = " ve=" . &ve . restore_options
set ve=

This should be change to:

if &ve != ''
let restore_options = " ve=" . &ve . restore_options
set ve=
endif

Should also happen for 'ignorecase'.

--
hundred-and-one symptoms of being an internet addict:
169. You hire a housekeeper for your home page.

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: