diff --git a/src/igc.c b/src/igc.c
index 5a4dae925be..b125d057985 100644
--- a/src/igc.c
+++ b/src/igc.c
@@ -22,8 +22,8 @@ along with GNU Emacs. If not, see . */
/* Naming convention for allocation functions:
- - Functions with "alloc" in the name return objects that should be
- freed manually with igc_xfree. Examples are igc_alloc_kboard,
+ - Functions with "igc_*alloc" in the name return objects that should
+ be freed manually with igc_xfree. Examples are igc_alloc_kboard,
igc_zalloc_ambig or igc_xpalloc_lisp.
- Functions with "make" in the name return objects that are freed
@@ -39,7 +39,19 @@ along with GNU Emacs. If not, see . */
E.g.: igc_xalloc_lisp.
- The suffix "_raw" is used for arrays of untagged pointers. E.g.:
- igc_xpalloc_raw. */
+ igc_xpalloc_raw.
+
+ The first three items and last three items describe different aspects
+ and can be used together. E.g. for "igc_xpalloc_raw" both the
+ "igc_*alloc" part and the "_raw" part apply; this tells us that the
+ block should be freed with igc_xfree and that it contains untagged
+ pointers. A hypothetical "igc_make_ambig" would return a block that
+ is automatically freed and scanned ambiguously.
+
+ Note: the "igc_*alloc" item only applies if the "*alloc" pattern
+ matches the second part of the name. E.g. the convention covers
+ "igc_xpalloc_raw" or "igc_realloc_ambig" but not
+ "igc_on_alloc_main_thread_specpdl" or "igc_record_xmalloc_ambig". */
#include
#include