On 03/09/08 06:11, Bill McCarthy wrote:
> Hello Vim Developers,
>
> I noticed a global variable that doesn't appear to be
> intentionally set.  The variable `cpo_save' undecorated and
> outside a function is implicitly global.
>
> Unfortunately `verbose let' does not reveal where it is set.
>   I found three places - there could be more:
>
>      vim72/ftplugin/hamster.vim
>      vim72/ftplugin/vim.vim
>      vim72/plugin/matchparen.vim
>
> The solution is to (1) prefix with `s:', (2) unlet, or (3)
> do both.
>

The ":let" statement never remembers where its operand was set (unlike 
:set, :map, :autocmd, :hi, :function and :command).

In this case, the above precautions are prudent, but only really 
necessary if those scripts can interrupt each other, which I don't think 
can happen in this case. I believe that in the first two cases above, 
prefixing with b: might also be a valid solution.

Here's the typical use of that variable:

        let cpo_save = &cpo
        set cpo&vim
        ...
        the bulk of the script comes here
        ...
        let &cpo = cpo_save


Best regards,
Tony.
-- 
hundred-and-one symptoms of being an internet addict:
159. You get excited whenever discussing your hard drive.

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui