bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Warnings for excessive macro arguments


From: Yavor Doganov
Subject: Re: Warnings for excessive macro arguments
Date: Tue, 24 Aug 2010 22:10:49 +0300
User-agent: Wanderlust/2.15.5 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.7 Emacs/23.2 (i486-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

Ralf Wildenhues wrote:
> Let's use a specific example:
> 
>   AC_INIT([Pkg], [1.0], [bug], [pkg], [website])
> 
> Do you think that 'autoconf-2.63 -Wall -Werror' should have errored out
> for the website argument?

Of course it should not and it would not error out.  2.63 is history,
so there's no way a hypothetical feature we're discussing now to be
available there (unless, of course, an even more hypothetical
"energetic" distro maintainer manages to backport it, which presumes
it is implemented at least in an autoconf git branch (or at least a
public patch is available), and in which case it is a distro issue
actually).

>   m4_version_prereq([2.64],
>     [AC_INIT([Pkg], [1.0], [bug], [pkg], [website])],
>     [AC_INIT([Pkg], [1.0], [bug], [pkg])])

Well, my extremely humble opinion is that those who use approaches
like this deserve what they get.  I don't think that my feature
request encourages this use at all.  But it's quite possible that I
miss something (or many things).

Going back to Eric's previous example:

> That is, we intentionally document that AC_RUN_IFELSE([arg1]) and
> AC_RUN_IFELSE([arg1], [], [], []) are identical, therefore
> AC_RUN_IFELSE must not print a warning if $# is less than 4.

Yes, and assuming my feature request is implemented, 2.68 should warn
if you pass [arg5], while < 2.68 must silently discard it, the way it
behaved historically.  (2.68 and above should silently discard the 5th
argument too if -Werror is not in use, I hope that's clear.)  If the
5th argument is actually required, the package should use AC_PREREQ
providing a version of AC_RUN_IFELSE that accepts (IOW: does not
ignore) its 5th argument.

Probably it's hard to implement this, and I'm not insisting at all.
Apparently there's enough food for thought.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]