# HG changeset patch # User Jun Wu # Date 1467279110 -3600 # Node ID 7d88fde2309f6abc1ff81a9764122d8c6d35fca7 # Parent fd93b15b5c30d16fd9c9eba61402d07fc4085db3 extensions: move uisetup and extsetup to standalone functions This is to make them wrap-able. chgserver wants to know if an extension accesses config or environment variables during uisetup and extsetup and include them in confighash accordingly. diff -r fd93b15b5c30 -r 7d88fde2309f mercurial/extensions.py --- a/mercurial/extensions.py Fri Jul 01 16:02:56 2016 -0500 +++ b/mercurial/extensions.py Thu Jun 30 10:31:50 2016 +0100 @@ -127,6 +127,21 @@ fn(loaded=True) return mod +def _runuisetup(name, ui): + uisetup = getattr(_extensions[name], 'uisetup', None) + if uisetup: + uisetup(ui) + +def _runextsetup(name, ui): + extsetup = getattr(_extensions[name], 'extsetup', None) + if extsetup: + try: + extsetup(ui) + except TypeError: + if extsetup.func_code.co_argcount != 0: + raise + extsetup() # old extsetup with no ui argument + def loadall(ui): result = ui.configitems("extensions") newindex = len(_order) @@ -148,19 +163,10 @@ ui.traceback() for name in _order[newindex:]: - uisetup = getattr(_extensions[name], 'uisetup', None) - if uisetup: - uisetup(ui) + _runuisetup(name, ui) for name in _order[newindex:]: - extsetup = getattr(_extensions[name], 'extsetup', None) - if extsetup: - try: - extsetup(ui) - except TypeError: - if extsetup.func_code.co_argcount != 0: - raise - extsetup() # old extsetup with no ui argument + _runextsetup(name, ui) # Call aftercallbacks that were never met. for shortname in _aftercallbacks: