comparison mercurial/ui.py @ 33471:d74141ccfd8b

configitems: handle case were the default value is not static In some case, the default of one value is derived from other value. We add a way to register them anyway and an associated devel-warning. The registration is very naive for the moment. We might be able to have a better way for registering each of these cases but it could be done later.
author Boris Feld <boris.feld@octobus.net>
date Wed, 12 Jul 2017 23:36:10 +0200
parents e714159860fd
children 0407a51b9d8c
comparison
equal deleted inserted replaced
33470:ab493a8353d1 33471:d74141ccfd8b
455 alternates.extend(item.alias) 455 alternates.extend(item.alias)
456 456
457 if default is _unset: 457 if default is _unset:
458 if item is None: 458 if item is None:
459 value = default 459 value = default
460 elif item.default is configitems.dynamicdefault:
461 value = None
462 msg = "config item requires an explicit default value: '%s.%s'"
463 msg %= (section, name)
464 self.develwarn(msg, 2, 'warn-config-default')
460 elif callable(item.default): 465 elif callable(item.default):
461 value = item.default() 466 value = item.default()
462 else: 467 else:
463 value = item.default 468 value = item.default
464 elif item is not None: 469 elif (item is not None
470 and item.default is not configitems.dynamicdefault):
465 msg = ("specifying a default value for a registered " 471 msg = ("specifying a default value for a registered "
466 "config item: '%s.%s' '%s'") 472 "config item: '%s.%s' '%s'")
467 msg %= (section, name, default) 473 msg %= (section, name, default)
468 self.develwarn(msg, 2, 'warn-config-default') 474 self.develwarn(msg, 2, 'warn-config-default')
469 475