aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorerw7 <erw7.github@gmail.com>2020-06-07 01:31:23 +0900
committererw7 <erw7.github@gmail.com>2020-06-08 23:15:10 +0900
commit9fc3949841817921a14fa64ae3d657c936acdfc4 (patch)
treeecce1d06329ce6ee612d8f322a256665d43f20bb /src
parentdbc8ec94464049311e69274cad562585d7bb6749 (diff)
downloadrneovim-9fc3949841817921a14fa64ae3d657c936acdfc4.tar.gz
rneovim-9fc3949841817921a14fa64ae3d657c936acdfc4.tar.bz2
rneovim-9fc3949841817921a14fa64ae3d657c936acdfc4.zip
shada: fix write E5004 error on exit
Fix the problem of failing to write shada when the global variable contains Funcref or Partial.
Diffstat (limited to 'src')
-rw-r--r--src/nvim/shada.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/shada.c b/src/nvim/shada.c
index 19a14f340b..3b08c8a184 100644
--- a/src/nvim/shada.c
+++ b/src/nvim/shada.c
@@ -2676,6 +2676,13 @@ static ShaDaWriteResult shada_write(ShaDaWriteDef *const sd_writer,
if (name == NULL) {
break;
}
+ switch (vartv.v_type) {
+ case VAR_FUNC:
+ case VAR_PARTIAL:
+ continue;
+ default:
+ break;
+ }
typval_T tgttv;
tv_copy(&vartv, &tgttv);
ShaDaWriteResult spe_ret;