Jason McIntyre <j...@kerhand.co.uk> wrote: > well, in those cases i think the authors shared the viewpoint that > mutually exclusive means you can;t mix them but in this case it is > essentially not an error to do so, and so documented it that way. > > maybe it is more helpful to think of "mutually exclusive" as "causes an > error", but i am not sure.
I agree with you that programs should not neccessary error out. I appreciate that you pointed at ls(1) before, which has so many options I think we should look there for examples. -A List all entries except for `.' and `..'. Always set for the superuser. -a Include directory entries whose names begin with a dot (`.'). These two options are not described as mutually exclusive, except, a mutually exclusive action is described. How do -Aa and -aA behave? Try it. Does POSIX take a position? If POSIX doesn't take a position, why should we? Should we break scripts that accidentally use both options? Argument composition does happen in scripting and interactive use. Should we search for places to make POSIX programs exit(1) if people use them in the newly-defined incorrect way? If we decide to not cause ls(1) -a and -A to exit, then I think we should not make other programs exit either. And then probably follow jmc's lead that "mutually exclusive" either in text, or in interpreted text, doesn't neccessarily describe an exit action.