The particular bug that triggered this (in a project other than bup) was of
the form:
n,no-stupid don't be stupid
Where it would actually end up setting stupid=1 by accident, and -n would
mean --stupid, not --no-stupid. As part of fixing it, you can now also do
this:
n,no-stupid,smart don't be stupid (ie. be smart)
and it'll work as it should: n == smart == no-stupid == not stupid.