$ eix | wc -l 73818 $ eix -a | wc -l 73818 $ eix -c | wc -l 14243 I don't think flooding a tty with unwanted output should be the default. Why not having it spit out usage() instead, and then have a new option, say -E --everything, to do what it now does by default. Note that even doing something silly like, for example, `eix -a' without an argument to that option, defaults to the behaviour of `eix', so that the tty gets flooded with unrelated output, instead of an error message about the required argument. Alternatively, you could change the description (as in eix(1)) from NAME eix - a set of utilities for searching, diffing and updating a binary cache of your local portage-trees to NAME eix - prints out the full descriptions of all packages in your local portage-trees. It also a set of utilities for searching, diffing and updating a binary cache of your local portage-trees.
The empty test should match everything and not spit out an unmotivated error or help-test. Introducing strange case distinctions (different behavior without arguments) and thus forcing users to change their scripts to some broken logic only to satisfy a first-time user who hacks in "eix" without any idea what this might be doing makes no sense and is completely against unix philosophy. eix usage is already complicated enough, it does not need even more case distinctions. > eix - prints out the full descriptions of all packages in your local > portage-trees. This would be silly, since this is not the main purpose of the tool. It just happens by the logic of its syntax that this is the action taken if you specify no argument. With the same argument you could also require that the man-page of "find" be changed, because it spits out all files if you specify no argument (because its default directory is ".", no test means a successful test, and the default action is -print): : find - list all files recursively. And BTW, it can also find them... :)
You're a complete idiot. There. Someone needed to tell you.
You could at least close the damn bug with the right reason.
It is always surprising how upset people can get on technical topics. I hope that you have calmed down meanwhile. In case my explanation was not clear enough: I was much more verbose in bug 346765. I hope with this explanation it becomes clear that e.g. by "broken logic" I really meant "breakage of consistency of the logic of argument interpretation" (perhaps there was a misunderstanding that something from your post could be meant - this was not the case). I hope also that with the explanation it becomes clearer why I consider this bug as "not a bug" (which in bugzilla means "invalid"; however, I will not start a fight about nothing). In fact: 1. eix behaves as intended and documented in the given cases. 2. The main purpose of eix is *not* to output all descriptions. Anyway, I changed the manpage (even in a prominent place when describing the eix command) to point out that eix will spit out everything if no restriction is specified by an expression.