2017-03-15 18:54 GMT+03:00 'Andy Wokula' via vim_dev <vim_dev@googlegroups.com>:
> Am 13.03.2017 um 23:03 schrieb Bram Moolenaar:
>>
>> Andy Wokula wrote:
>>
>>> (I'm using a pre-Vim 8.0 version).
>>>
>>> Still: can somebody confirm the following bug:
>>>
>>> " script.vim
>>> let s:f = {}
>>>
>>> func! s:f.Foo()
>>> endfunc
>>>
>>> let s:f.Bar = s:f.Foo
>>>
>>> let s:f
>>>
>>> finish
>>>
>>> Error detected while processing script.vim:
>>> line   15:
>>> E724: variable nested too deep for displaying
>>> s:f                   {'Foo': function('74'), 'Bar': function('74',
>>> {'Foo': function('74'), 'Bar': function('74', {'Foo': function('74'), 'Bar':
>>> function('74', {'Foo': function('74'), 'Bar': function('74', {'Foo':
>>> function('74'), 'Bar': function('74', {'Foo': function('74'), 'Bar':
>>> function('74', {'Foo': function('74'), 'Bar': function('74', {'Foo':
>>> function('74'), 'Bar': function('74', {'Foo': function('74'), 'Bar':
>>> function('74', {'Foo': function('74'), 'Bar': function('74', {'Foo':
>>> function('74'), 'Bar': function('74', {'Foo': function('74'), 'Bar':
>>> function('74', {'Foo': function('74'), 'Bar': function('74', {'Foo':
>>> function('74'), 'Bar': function('74', {'Foo': function('74'), 'Bar':
>>> function('74',
>>>       ... more nesting removed ...
>>> )})})})})})})})})})})})})})})})}
>>
>>
>> That is normal.  Use this instead:
>
>
> But why is s:f.Bar different from s:f.Foo ?
>
>>         echo s:f
>>
>> Then recursive references are shortened.
>
>
> Older Vim versions did not output a dictionary at all.
> I'd prefer the old behavior then.
> ... which anyway looked better (less garbage in the output!).

The meaning of `s:f.Foo` changed: when `s:f.Foo` is a function it is
no longer a simple dictionary indexing. Neovim outputs `{'Foo':
function('3'), 'Bar': function('3', {...@0})}` in this case BTW:
`string()` and `:echo` implementation was seriously refactored in
Neovim.

>
> --
> Andy
>
>
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> --- You received this message because you are subscribed to the Google
> Groups "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to vim_dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui