Btw, for Pike 7.5, I think we should phase out module_magic.h. The magic can be done much more nicely simply by having
PIKE_MODULE_INIT { ... }
PIKE_MODULE_EXIT { ... }
instead of
pike_module_init(void) { ... }
pike_module_exit(void) { ... }
and having e.g. module_support.h define these macros approprietly. Then you wouldn't have to worry about the order of includes, and if you forget to include the right files you will get a compilation error.