Hi,

2016/3/16 Wed 3:33:55 UTC+9 Bram Moolenaar wrote:
> Patch 7.4.1577
> Problem:    Cannot pass "dict.Myfunc" around as a partial.
> Solution:   Create a partial when expected.
> Files:      src/eval.c, src/testdir/test_partial.vim


> +     if (rettv->v_type == VAR_FUNC && selfdict != NULL)
> +     {
> +     partial_T       *pt = (partial_T *)alloc_clear(sizeof(partial_T));
> + 
> +     /* Turn "dict.Func" into a partial for "Func" with "dict". */
> +     if (pt != NULL)
> +     {
> +         pt->pt_dict = selfdict;
> +         selfdict = NULL;
> +         pt->pt_name = rettv->vval.v_string;
> +         func_ref(pt->pt_name);
> +         rettv->v_type = VAR_PARTIAL;
> +         rettv->vval.v_partial = pt;
> +     }
> +     }

I'm not sure, but it seems that this if block has some problems.
When I comment out this block, the issue #690 disappears (even without mattn's
patch).

Regards,
Ken Takata

-- 
-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui