diff -r 831ebc408ffb -r 60acf1432ee0 mercurial/extensions.py --- a/mercurial/extensions.py Fri Aug 17 19:11:16 2007 +0200 +++ b/mercurial/extensions.py Fri Aug 17 17:33:27 2007 -0300 @@ -10,8 +10,13 @@ from i18n import _ _extensions = {} -commandtable = {} -setuphooks = [] +_order = [] + +def extensions(): + for name in _order: + module = _extensions[name] + if module: + yield name, module def find(name): '''return module with given extension name''' @@ -55,19 +60,11 @@ except ImportError: mod = importh(name) _extensions[shortname] = mod + _order.append(shortname) uisetup = getattr(mod, 'uisetup', None) if uisetup: uisetup(ui) - reposetup = getattr(mod, 'reposetup', None) - if reposetup: - setuphooks.append(reposetup) - cmdtable = getattr(mod, 'cmdtable', {}) - overrides = [cmd for cmd in cmdtable if cmd in commandtable] - if overrides: - ui.warn(_("extension '%s' overrides commands: %s\n") - % (name, " ".join(overrides))) - commandtable.update(cmdtable) def loadall(ui): result = ui.configitems("extensions")