On Thursday 18 November 2010, Ralf Wildenhues wrote: > Hello, Hi Ralf. I answer here because I'm not subscribed to bug-standards; I hope that's not a problem.
> > * Stefano Lattarini wrote on Thu, Nov 18, 2010 at 05:28:30PM CET: > > On Thursday 18 November 2010, Eric Blake wrote: > > > On 11/18/2010 08:22 AM, Stefano Lattarini wrote: > > > > Currently, automake and aclocal scan their command line looking for > > > > `--help' and `--version' even after an invalid option has been seen; > > > > and in case one of those two options is seen, it takes precedence > > > > even over error reporting about preceding invalid options. > > > > > > GNU Coding Standards _only_ require that --help and --version be > > > recognized as the first argument, with no other arguments. > > > When possible, recognizing --help and --version after other arguments, > > > or with other arguments afterwards, is nice, but there are no rules > > > that require that consistency. > > > Not exactly. The GNU Coding Standards read (my emphasis): > > > > ``The standard --version option should direct the program to print > > information about its name, version, origin and legal status, all > > on standard output, and then exit successfully. Other options and > > arguments should be ignored *once this is seen*, and the program > > should not perform its normal function.'' > > > > So it means that the behaviour of GNU m4 (and the other mentioned > > programs) is compliant with the GCS, while the automake behaviour > > is "overzealous" in this respect. > > I think the GCS should be adjusted then. I strongly disagree. > IIUC then GNU has valued usability over implementation simplicity. True, but I don't think that the current behaviour of autoconf, m4, sed, libtool, etc. in this matter can be described as lacking in usability. Has any real user ever complained about such a behaviour (honest question)? If not, then the behaviour is clearly correct and good enough. > I think --help should work whereever it is put on a command line, > except after -- or right after an option which requires an argument I disagree; that would complicate the implementation without providing any real advantage for the users IMHO. > (or at least GCS should allow for this behavior). They alrady does (so automake is safe in this respect even with its current behaviour); they just doesn't require it. Which is good IMO. > The point being that I type > > $ foo --zork --barf > foo: blabla error, see --help > > and then type <up><space>--help<enter> to find out more. Or type <up><ctrl-a><alt-f><space>--help<enter> to find out more. Or even type "foo --help" to find out more. These are not much more complex or lacking in usability, IMHO. > Let's address this on bug-standards before changing any programs. I'm not subscribed to that list, so please CC me if you want me to contribute to the discussion. Thanks. Regards, Stefano