diff -r f53c549237ca -r e0eae93e6c67 mercurial/extensions.py --- a/mercurial/extensions.py Wed Oct 21 13:40:55 2009 +0200 +++ b/mercurial/extensions.py Wed Oct 28 23:55:23 2009 +0900 @@ -93,6 +93,16 @@ if uisetup: uisetup(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 + def wrapcommand(table, command, wrapper): aliases, entry = cmdutil.findcmd(command, table) for alias, e in table.iteritems():