patch 8.1.1575: callbacks may be garbage collected
Problem: Callbacks may be garbage collected.
Solution: Set reference in callbacks. (Ozaki Kiichi, closes #4564)
diff --git a/src/eval.c b/src/eval.c
index 43866e6..085e7d7 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -5678,6 +5678,9 @@
/* v: vars */
abort = abort || set_ref_in_ht(&vimvarht, copyID, NULL);
+ // callbacks in buffers
+ abort = abort || set_ref_in_buffers(copyID);
+
#ifdef FEAT_LUA
abort = abort || set_ref_in_lua(copyID);
#endif
@@ -5710,6 +5713,10 @@
abort = abort || set_ref_in_term(copyID);
#endif
+#ifdef FEAT_TEXT_PROP
+ abort = abort || set_ref_in_popups(copyID);
+#endif
+
if (!abort)
{
/*