Hi Jim, * Jim Meyering wrote on Thu, Apr 20, 2006 at 02:29:47PM CEST: > Ralf Wildenhues <[EMAIL PROTECTED]> wrote: > > > > One solution is to forbid _any_ Gnulib (or other non-Autoconf-provided) > > macro to start with `AC_'. I thought this was a convention agreed upon > > long ago (much longer than, say, `build-aux' as a directory name).
> That sounds fine, but there is a small downside. I've found it useful > to provide fixed/improved versions of autoconf-defined AC_* macros. There's a difference here: If Autoconf provides a published macro, then, unless that is explicitly declared experimental or so, there is hope that the macro interface _will be stable_, modulo bug fixes that make the macro work under more circumstances, or increased functionality. If OTOH a third-party provides a macro AC_FOO which has never been part of Autoconf, at what point is Autoconf then required to - not ever use that name, or - allowed to use that name, but only with the exact semantics of the third-party macro (however brain-dead or not they may have been), or - completely ignore the third party? With Gnulib, you may argue, there's some connection; but what about other Autoconf macro archives? What if there are two macros with the same name but conflicting semantics out there? I believe that, for macros named AC_*, you should be able to rely on what autoconf.info says, and all other names in Autoconf name space are just not to be used. If you decide to temporarily override a macro because of a bug, that's much less of a problem than if you use a name that hasn't been taken yet. (But of course providing a wrapper macro is even cleaner, and not more work.) For example, I simply would not change uses of gl_CHECK_HEADERS_ONCE to AC_CHECK_HEADERS_ONCE manually. I'd put AU_ALIAS([gl_CHECK_HEADERS_ONCE], [AC_CHECK_HEADERS_ONCE]) in onceonly.m4 once Gnulib requires Autoconf-2.60. And be done with it. > But with any luck, autoconf is stable enough these days that even if we > do have to rename things once in a while, it won't be much of a burden. Choosing new names is trivially easy if autoupdate works well enough. Cheers, Ralf
