patch 8.2.1255: cannot use a lambda with quickfix functions
Problem: Cannot use a lambda with quickfix functions.
Solution: Add support for lambda. (Yegappan Lakshmanan, closes #6499)
diff --git a/src/evalvars.c b/src/evalvars.c
index 197a19d..e2469b0 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -3849,6 +3849,27 @@
}
/*
+ * Copy callback from "src" to "dest", incrementing the refcounts.
+ */
+ void
+copy_callback(callback_T *dest, callback_T *src)
+{
+ dest->cb_partial = src->cb_partial;
+ if (dest->cb_partial != NULL)
+ {
+ dest->cb_name = src->cb_name;
+ dest->cb_free_name = FALSE;
+ ++dest->cb_partial->pt_refcount;
+ }
+ else
+ {
+ dest->cb_name = vim_strsave(src->cb_name);
+ dest->cb_free_name = TRUE;
+ func_ref(src->cb_name);
+ }
+}
+
+/*
* Unref/free "callback" returned by get_callback() or set_callback().
*/
void