diff -r 067173e3c8a6 -r 4a3f1d362e5f mercurial/ui.py --- a/mercurial/ui.py Mon Jun 19 22:14:37 2017 -0700 +++ b/mercurial/ui.py Sat Jun 17 12:51:11 2017 +0200 @@ -154,6 +154,10 @@ def _catchterm(*args): raise error.SignalInterrupt +# unique object used to detect no default value has been provided when +# retrieving configuration value. +_unset = object() + class ui(object): def __init__(self, src=None): """Create a fresh new ui object if no src given @@ -432,7 +436,9 @@ def configsource(self, section, name, untrusted=False): return self._data(untrusted).source(section, name) - def config(self, section, name, default=None, untrusted=False): + def config(self, section, name, default=_unset, untrusted=False): + if default is _unset: + default = None if isinstance(name, list): alternates = name else: