diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-08-01 15:40:54 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-08-01 15:40:54 +0200 |
commit | 437bafe4c8a83ed71ee006eda7f54b65a90f0d4c (patch) | |
tree | dac9426b1bafe44f050bbb13c027de31117c089d /src/if_mzsch.c | |
parent | 580164481924ed8611eb79f0247a0eb1ca0b3b9a (diff) | |
download | vim-437bafe4c8a83ed71ee006eda7f54b65a90f0d4c.zip |
patch 7.4.2137
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
Diffstat (limited to 'src/if_mzsch.c')
-rw-r--r-- | src/if_mzsch.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/if_mzsch.c b/src/if_mzsch.c index daec6b0a8..7a462ad54 100644 --- a/src/if_mzsch.c +++ b/src/if_mzsch.c @@ -3134,7 +3134,7 @@ vim_to_mzscheme_impl(typval_T *vim_value, int depth, Scheme_Hash_Table *visited) /* FIXME: func_ref() and func_unref() are needed. */ /* TODO: Support pt_dict and pt_argv. */ funcname = scheme_make_byte_string( - (char *)vim_value->vval.v_partial->pt_name); + (char *)partial_name(vim_value->vval.v_partial)); MZ_GC_CHECK(); result = scheme_make_closed_prim_w_arity(vim_funcref, funcname, (const char *)BYTE_STRING_VALUE(funcname), 0, -1); |