aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorMichael Ennen <mike.ennen@gmail.com>2016-10-28 01:13:42 -0700
committerJames McCoy <jamessan@jamessan.com>2016-12-12 10:17:35 -0500
commitc6bc1e7babf121406e1f8acda6381f4582dc0009 (patch)
tree5e11dc8e4e017566b5c36b18cb96eec156f1930c /src/nvim/eval.c
parent04f328f1ae7151e559b3c39cb2fce6575f2a3ebb (diff)
downloadrneovim-c6bc1e7babf121406e1f8acda6381f4582dc0009.tar.gz
rneovim-c6bc1e7babf121406e1f8acda6381f4582dc0009.tar.bz2
rneovim-c6bc1e7babf121406e1f8acda6381f4582dc0009.zip
vim-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. https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 68334a552c..b570001131 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -19911,7 +19911,8 @@ void 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))) {
int j = (*arg == K_SPECIAL) ? 3 : 0;
while (arg[j] != NUL && (j == 0 ? eval_isnamec1(arg[j])
: eval_isnamec(arg[j])))