diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval.c | 5 | ||||
-rw-r--r-- | src/nvim/memory.c | 3 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 32e1991742..c900cf5dfb 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -21569,7 +21569,10 @@ void func_unref(char_u *name) if (name != NULL && isdigit(*name)) { fp = find_func(name); if (fp == NULL) { - EMSG2(_(e_intern2), "func_unref()"); + // Ignore when invoked through free_all_mem(). + if (!really_exiting) { + EMSG2(_(e_intern2), "func_unref()"); + } } else { user_func_unref(fp); } diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 071ef335cf..63914f3a46 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -496,6 +496,9 @@ void free_all_mem(void) return; entered = true; + // Set this flag to indicate some errors can be ignored. + really_exiting = true; + // Don't want to trigger autocommands from here on. block_autocmds(); diff --git a/src/nvim/version.c b/src/nvim/version.c index 9f2b7a26c3..7244a53606 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -574,7 +574,7 @@ static int included_patches[] = { // 1869 NA // 1868, 1867, - // 1866, + 1866, // 1865 NA // 1864 NA // 1863 NA |