-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Bruno Haible on 2/27/2009 3:36 PM: > > Eric Blake wrote in > <http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00213.html>: >> But your patch has merit in that it makes a nice macro name that explains >> what >> you are intending. > > It would even be better if this macro was not needed. Couldn't AC_CACHE_VAL be > changed to output "(cached)" when run between AC_MSG_CHECKING and > AC_MSG_RESULT, and be silent otherwise?
Wow, nice suggestion for improving the API. I'll work on that. > > The implementation of this change would be that AC_CACHE_VAL invokes a > macro made for this purpose, say, _AC_ECHO_CACHED. AC_MSG_CHECKING would > pushdef _AC_ECHO_CACHED to a definition that expands to nothing or a ':' > command, and AC_MSG_RESULT would popdef it. Or, even better, AC_MSG_CHECKING pushdef's a witness macro, AC_MSG_RESULT pops it, and AC_CACHE_VAL checks whether the witness macro is defined, to avoid the AS_ECHO altogether (no need to output a no-op : into the resulting script). >> If you'd like, I'll even add another sentence to the autoconf manual that >> makes >> it clear that all such variables with this naming scheme, regardless of how >> they are used, are cached. > > I would *not* document this. If you document it, it may cause additional > effort > if you or Ralf want to change the implementation of caching, sometime in the > future. There is no functional benefit for the user either: users can use > AC_CACHE_VAL. Thanks to your suggestion of an improved API for AC_CACHE_VAL, I'm inclined to agree that we no longer need to worry about documenting that all _cv_ variables are cached, leaving some flexibility for under-the-hood improvements. - -- Don't work too hard, make some time for fun as well! Eric Blake e...@byu.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkmpP+IACgkQ84KuGfSFAYDTEgCfaFkNw/3I6qV5BcffxIju4j1m VHgAnjpbvuqzub/cnveBwxkdts71XofN =X+KY -----END PGP SIGNATURE-----