patch 8.2.4716: memory allocation failure not tested when defining a function

Problem:    Memory allocation failure not tested when defining a function.
Solution:   Add a test. (Yegappan Lakshmanan, closes #10127)
diff --git a/src/alloc.c b/src/alloc.c
index 9547d67..5218d00 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -719,6 +719,20 @@
     return OK;
 }
 
+/*
+ * Same as ga_grow() but uses an allocation id for testing.
+ */
+    int
+ga_grow_id(garray_T *gap, int n, alloc_id_T id UNUSED)
+{
+#ifdef FEAT_EVAL
+    if (alloc_fail_id == id && alloc_does_fail(sizeof(list_T)))
+	return FAIL;
+#endif
+
+    return ga_grow(gap, n);
+}
+
     int
 ga_grow_inner(garray_T *gap, int n)
 {