Just wanted to add to the below that the problem is not just chaining
functions, but using the return value of the function itself. If the
function returns a dictionary (and probably a list), you can't use it to
access its members, so something like this will also fail:
let t.T()['abc'] = 'xyz'
However, using it in an expression works fine, e.g.,:
return t.T()['abc']
--
Thanks,
Hari
On Wed, 21 Jun 2006 at 3:38pm, Hari Krishna Dara wrote:
>
> I found a problem with chaining function calls through the new
> dictionary functions. Here is some code demonstrate the problem, if you
> execute this code, the last line generates an E488 error, where as the
> previous lines combines (they are equivalent) works fine.
>
> let tt = {}
> function! tt.TT()
> echomsg 'This is TT'
> endfunction
>
> let t = {'tt': tt}
> function t.T()
> return self.tt
> endfunction
>
> let tmptt = t.T()
> call tmptt.TT()
> call t.T().TT()
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com