From c6bc1e7babf121406e1f8acda6381f4582dc0009 Mon Sep 17 00:00:00 2001 From: Michael Ennen Date: Fri, 28 Oct 2016 01:13:42 -0700 Subject: 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 --- src/nvim/eval.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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]))) -- cgit