On Sep 8, 4:20 pm, Tony Mechelynck <[EMAIL PROTECTED]>
wrote:
> A.Politz wrote:
>
> > From the manual : E685
> > "This is an internal error.
> > If you can reproduce it, please send in a bug report."
>
> > I can : ( v7.1.87 )
>
> > func! Foo()
> > "1 works, -17 too. May I conclude,
> > "that it works for all numbers but 0 ?
> > let did_process = 0
> > return did_process ? { 'k': 1 } : {}
> > endfun
>
> > Error detected while processing function Foo:
> > line 2:
> > E685: Internal error: get_tv_string_buf()
> > E15: Invalid expression: did_process ? { 'k': 1 } : {}
> > 0
>
> > -ap
>
> Does it work with
>
> return did_process ? ({ 'k' : 1 }) : {}
It doesn't change, no matter where you put the parens.
>
> If it does, then the parser got confused with the colon in the dictionary
> constant.
>
> (Dictionaries are new in Vim 7, but the condition?iftrue:iffalse expression
> construct is much older than that.)
>
> Best regards,
> Tony.
> --
> Be a better psychiatrist and the world will beat a psychopath to your
> door.
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---