summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-03-24 21:42:09 +0100
committerBram Moolenaar <Bram@vim.org>2016-03-24 21:42:09 +0100
commitc5fbe8af4cd80789f831b78aa44ff0b238138769 (patch)
tree20b3bcb5a78ed166babf59c96c3792ca13fbb95b /src/eval.c
parent24c77a1e3a2ad510582116229462b482d69b4b8e (diff)
downloadvim-c5fbe8af4cd80789f831b78aa44ff0b238138769.zip
patch 7.4.1645
Problem: When a dict contains a partial it can't be redefined as a function. (Nikolai Pavlov) Solution: Remove the partial when overwriting with a function.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index 453756217..db6ef9d5d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -23455,7 +23455,8 @@ ex_function(exarg_T *eap)
else
arg = fudi.fd_newkey;
if (arg != NULL && (fudi.fd_di == NULL
- || fudi.fd_di->di_tv.v_type != VAR_FUNC))
+ || (fudi.fd_di->di_tv.v_type != VAR_FUNC
+ && fudi.fd_di->di_tv.v_type != VAR_PARTIAL)))
{
if (*arg == K_SPECIAL)
j = 3;