Yes,

I'm answering my own mail : the function was already defined elsewhere (I
had written a file in .vim/plugin/ where I wanted to define this function,
and I had forgotten to remove it. I just lost 2 hours :$


On Tue, Sep 1, 2009 at 3:31 PM, Charles Campbell <
[email protected]> wrote:

>
> Christophe-Marie Duquesne wrote:
> > Hi,
> >
> > I'm trying to write a function in vimscript that would toggle a value
> > either to its default value, or to an other value. Here is what I wrote.
> >
> > " Toggles value to default or other
> > function! ToggleValue(value, default, other)
> >     exec 'let evalvalue = '.a:value
> >     if evalvalue == a:default
> >         exec 'let '.a:value.' = '.a:other
> >     else
> >         exec 'let '.a:value.' = '.a:default
> >     endif
> >     exec 'let '.a:value
> > endfunction
> >
> > This seems to work, e.g.
> > :let g:foo = 0
> > :call ToggleValue("g:foo", 0, 1) "prints g:foo #0
> > :call ToggleValue("g:foo", 0, 1) "prints g:foo #1
> > :call ToggleValue("g:foo", 0, 1) "prints g:foo #0
> >
> > However, I don't understand why, to get it working, I need to source
> > my vimrc twice.
> >
> > Can someone give me a hint?
> Hmm -- it seemed to work fine for me with but a single sourcing.
> However, the results I got were
>
> g:foo                 #1
> g:foo                 #0
> g:foo                 #1
>
> which seems correct to me (a quiet initialize g:foo to zero, toggle to
> 1, toggle to 0, toggle to 1).
>
> Regards,
> Chip Campbell
>
>
> >
>


-- 
Christophe-Marie Duquesne

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

Reply via email to