test -o breaks on no*
Thank you for reporting the bug and providing the patch.
Your patch apparently fixes the bug, but it mistakenly identifies "notify" as a negation of "tify", which again returns the wrong result. So, we need some more tricks to get everything right. I feel like rewriting the find_option_unique function.
Thanks anyway!
Well, that was a really silly oversight on my part. Thanks for catching it.
Committed r3672
The -o option to the test/[ builtin breaks when an option name starting with no is given.
The expected behaviour is that the result should be inverted if the option name starts with no. Instead, the prefix appears to be ignored.
For example:
outputs 'bug'.The negative test case
is complicated because -o is a binary "or" operator, so [ ! -o noclobber ] can (and according to POSIX arguably should) be read as "test if either the literal string '!' is non-empty or the literal string 'noclobber' is non-empty".