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

Raspunde prin e-mail lui