aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/eval.c5
-rw-r--r--src/nvim/memory.c3
-rw-r--r--src/nvim/version.c2
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