# HG changeset patch # User liscju # Date 1472760402 -7200 # Node ID b1ebc767563d95db3dfff69a17f155a1f3fd93c0 # Parent 02c150850e162a853f1d266eae3632e63fb016bb help: show content for explicitly disabled extension (issue5228) 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): diff -r 02c150850e16 -r b1ebc767563d tests/test-help.t --- a/tests/test-help.t Fri Sep 02 10:18:56 2016 +0200 +++ b/tests/test-help.t Thu Sep 01 22:06:42 2016 +0200 @@ -1624,6 +1624,17 @@ > ambiguous = ! > EOF +Show help content of disabled extensions + + $ cat >> $HGRCPATH < [extensions] + > ambiguous = !./ambiguous.py + > EOF + $ hg help -e ambiguous + ambiguous extension - (no help text available) + + (use "hg help extensions" for information on enabling extensions) + Test dynamic list of merge tools only shows up once $ hg help merge-tools Merge Tools