Yukihiro Nakadaira wrote:

> vim.eval('recursive object') do not return recursive object.  It returns
> deeply nested object instead and each object do not point same object.
> The attached patch fixes this problem.
> 
> Steps To Reproduce:
>   let x = {}
>   let x.x = x
> 
>   let y = []
>   call add(y, y)
> 
>   python <<EOF
>   import vim
>   x = vim.eval('x')
>   y = vim.eval('y')
>   print x is x['x']
>   print y is y[0]
>   print x
>   print y
>   EOF
> 
> Actual Results:
>   False
>   False
>   {'x': {'x': {...}}}
>   [[[...]]]
> 
> Expected Results:
>   True
>   True
>   {'x': {...}}
>   [[...]]

Thanks, I'll look into it later.

It would be good if a few people try it out and let us know how it
works.

-- 
To keep milk from turning sour: Keep it in the cow.

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

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

Raspunde prin e-mail lui