summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/eval.c b/src/eval.c
index 5452f4543..abb3b4069 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -430,12 +430,11 @@ eval_clear(void)
vim_free(SCRIPT_SV(i));
ga_clear(&ga_scripts);
- // functions need to be freed before gargabe collecting, otherwise local
- // variables might be freed twice.
- free_all_functions();
-
// unreferenced lists and dicts
(void)garbage_collect(FALSE);
+
+ // functions not garbage collected
+ free_all_functions();
}
#endif