patch 7.4.2090
Problem: Using submatch() in a lambda passed to substitute() is verbose.
Solution: Use a static list and pass it as an optional argument to the
function. Fix memory leak.
diff --git a/src/structs.h b/src/structs.h
index 191fa1f..7375c7c 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1245,6 +1245,14 @@
};
/*
+ * Static list with 10 items. Use init_static_list() to initialize.
+ */
+typedef struct {
+ list_T sl_list; /* must be first */
+ listitem_T sl_items[10];
+} staticList10_T;
+
+/*
* Structure to hold an item of a Dictionary.
* Also used for a variable.
* The key is copied into "di_key" to avoid an extra alloc/free for it.