diff -r 02c150850e16 -r b1ebc767563d mercurial/extensions.py --- a/mercurial/extensions.py Fri Sep 02 10:18:56 2016 +0200 +++ b/mercurial/extensions.py Thu Sep 01 22:06:42 2016 +0200 @@ -22,6 +22,7 @@ ) _extensions = {} +_disabledextensions = {} _aftercallbacks = {} _order = [] _builtin = set(['hbisect', 'bookmarks', 'parentrevspec', 'progress', 'interhg', @@ -148,6 +149,7 @@ for (name, path) in result: if path: if path[0] == '!': + _disabledextensions[name] = path[1:] continue try: load(ui, name, path) @@ -370,6 +372,7 @@ if name in exts or name in _order or name == '__init__': continue exts[name] = path + exts.update(_disabledextensions) return exts def _moduledoc(file):