On 9/18/20 2:01 AM, Bruno Haible wrote:

The file descriptor 2 is unaffected by the file descriptor
reshuffle. Only file descriptor 6 is affected, which is the one used by
AC_MSG_CHECKING/AC_MSG_RESULT. No one is supposed to use this file descriptor
in a 'trap' action.

Ah, sorry, I misread it.

Looking into it further, gl_SILENT is iffy as a general macro, as discarding
stderr could make scripts harder to debug.

I disagree. I want gl_SILENT for the purpose of doing more complex checks inside
an AC_CACHE_CHECK invocation. Without gl_SILENT, the message output dictates the
structure of the AC_CACHE_CHECKs. This is not good.

Agreed, but isn't gl_SILENT an unnecessarily tricky way to go about it? I worry we'll eventually need a gl_NOISY macro to counteract the effect of gl_SILENT.

If this approach was that useful in practice, why doesn't C's stdio package have a function that does something similar, e.g., stdio_silent (stderr, FOO) calls FOO and arranges for FOO's fprintf (stderr, ....) calls to have no effect?

If the problem is that AC_CACHE_CHECK is always noisy, do we simply need a quiet variant? Something like gl_CACHE_VAL_SILENT vs AC_CACHE_VAL? Or perhaps we should change what Autoconf does (admittedly this is a longer-term project)?

I want gl_SILENT also to clean up
the getaddrinfo output and others.

If it's needed then by all means please reinstate it as needed for getaddrinfo 
etc.

Reply via email to