diff --git a/mercurial/fancyopts.py b/mercurial/fancyopts.py --- a/mercurial/fancyopts.py +++ b/mercurial/fancyopts.py @@ -77,7 +77,7 @@ def fancyopts(args, options, state, gnu= # copy defaults to state if isinstance(default, list): state[name] = default[:] - elif getattr(default, '__call__', False): + elif callable(default): state[name] = None else: state[name] = default