On Sat, Oct 22, 2022 at 10:38:07PM +0300, Eli Zaretskii wrote: > No, those #undef's must be after including perl.h and before XSUB.h. > That's because the Gnulib's stdlib.h is included by Perl's perl.h:
I've revised it in commit 5edc09c5bd. > > So I expect we can deal with putenv and mktemp the same way. (I haven't > > investigated why Gnulib wants to redefine 'free'.) > > > > It could be worth asking on bug-gnulib again. > > OK, so I guess those #undef's might not be needed? If you can confirm that the warnings are gone with the lines GL_GNULIB_MDA_FDOPEN=0 GL_GNULIB_MDA_MKTEMP=0 GL_GNULIB_MDA_PUTENV=0 (added in commit 02022a38e48) then we can ask on bug-gnulib if this is right and the GL_ prefix should be used now. The free redefinition was from the 'free-posix' module that the 'vasnprintf' module depends on. From the Gnulib ChangeLog: 2021-03-25 Paul Eggert <[email protected]> free-posix: use more often in other modules This lets us simplify cleanup code that calls ‘free’. I doubt there is much hope of stopping this redefinition from gnulib so "#undef free" may be the best solution here. Since I only do it after a year or more, I never get any faster at tracking down what gnulib modules are responsible.
