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 }) : {}
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
-~----------~----~----~----~------~----~------~--~---