diff options
| author | erw7 <erw7.github@gmail.com> | 2019-08-29 13:07:03 +0900 | 
|---|---|---|
| committer | erw7 <erw7.github@gmail.com> | 2019-09-04 13:40:05 +0900 | 
| commit | 9db60b06a1d9b50b3ba6beb858eb0fd2c58571c4 (patch) | |
| tree | bd7d55a5af91afae726345b7fc40324625241879 /src/nvim/eval.c | |
| parent | e4a47862415ee6e0c4904f9c5cc8c3453be6bf17 (diff) | |
| download | rneovim-9db60b06a1d9b50b3ba6beb858eb0fd2c58571c4.tar.gz rneovim-9db60b06a1d9b50b3ba6beb858eb0fd2c58571c4.tar.bz2 rneovim-9db60b06a1d9b50b3ba6beb858eb0fd2c58571c4.zip | |
vim-patch:8.1.0515: reloading a script gives errors for existing functions
Problem:    Reloading a script gives errors for existing functions.
Solution:   Allow redefining a function once when reloading a script.
https://github.com/vim/vim/commit/ded5f1bed7ff2d138b3ee0f9610d17290b62692d
Diffstat (limited to 'src/nvim/eval.c')
| -rw-r--r-- | src/nvim/eval.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 8fa4e23df6..6f7d5ed6e4 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -21504,7 +21504,11 @@ void ex_function(exarg_T *eap)      fp = find_func(name);      if (fp != NULL) { -      if (!eap->forceit) { +      // Function can be replaced with "function!" and when sourcing the +      // same script again, but only once. +      if (!eap->forceit +          && (fp->uf_script_ctx.sc_sid != current_sctx.sc_sid +              || fp->uf_script_ctx.sc_seq == current_sctx.sc_seq)) {          emsg_funcname(e_funcexts, name);          goto erret;        } | 
