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 -~----------~----~----~----~------~----~------~--~---
