diff -r 7b88bd88f040 -r f9567a7fa3b3 mercurial/fancyopts.py --- a/mercurial/fancyopts.py Fri Dec 01 15:40:23 2006 +0100 +++ b/mercurial/fancyopts.py Fri Dec 01 16:18:16 2006 -0200 @@ -11,7 +11,8 @@ map['-'+s] = map['--'+l] = pl state[pl] = d dt[pl] = type(d) - if not d is None and not callable(d): + if (d is not None and d is not True and d is not False and + not callable(d)): if s: s += ':' if l: l += '=' if s: short = short + s @@ -25,6 +26,7 @@ elif dt[map[opt]] is type(''): state[map[opt]] = arg elif dt[map[opt]] is type([]): state[map[opt]].append(arg) elif dt[map[opt]] is type(None): state[map[opt]] = True + elif dt[map[opt]] is type(False): state[map[opt]] = True return args