diff mercurial/ui.py @ 33150:77e666f943a6

configitems: support callable as a default value Yuya pointed out that using mutable value as the default could be problematic. To work around this we now support callable object as default value. This allows for creating new mutable objects on demand when needed.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 28 Jun 2017 13:50:20 +0200
parents d9962854a4a2
children e714159860fd
line wrap: on
line diff
--- 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: