Besides modules to improve system compatibility, Gnulib contains a number of modules that provide "missing" functionality of the C standard library (like the gl_list module).
What would be the chances to include a module with sophisticated preprocessor macros like P99 ([1]) or the Boost Preprocessing library ([2])? It would be a header-only module and its functionality could grow over time. To allow for the latter in a backward compatible way, it would make sense to prefix all exported macros with GL_. The internal macros could be prefixed with _GL_. While this is strictly a violation of what identifiers are allowed in ISO C, Gnulib already does it this way. Such a module would have zero footprint in the library and could be used by other modules that currently make use of ad-hoc definitions, for example the verify module, which defines _GL_CONCAT and _GL_COUNTER ([3]). Marc -- [1] https://gustedt.gitlabpages.inria.fr/p99/p99-html/ [2] https://www.boost.org/doc/libs/1_73_0/libs/preprocessor/doc/index.html [3] http://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/verify.h#n159
