diff -r a14e2e7f7d1f -r 77e666f943a6 mercurial/ui.py --- a/mercurial/ui.py Tue Jun 27 02:06:15 2017 +0200 +++ b/mercurial/ui.py Wed Jun 28 13:50:20 2017 +0200 @@ -455,6 +455,8 @@ if default is _unset: if item is None: value = default + elif callable(item.default): + value = item.default() else: value = item.default elif item is not None: