# HG changeset patch # User Martin von Zweigbergk # Date 1499411633 25200 # Node ID 68b7ceda99d736a45e2e484a620bcb44c39b9294 # Parent 67b42e64194dc515889678c4c1b6b00b4200ac00 dispatch: fix typo suggestion for disabled extension If the matching command lives in an in-tree extension (which is all we scan for), and the user has disabled that extension with "extensions.=!", we were not finding it, because the path in _disabledextensions was the empty string. If the user had set "extensions.=!" it would work, so it seems like just a mistake that it didn't work. diff -r 67b42e64194d -r 68b7ceda99d7 mercurial/extensions.py --- a/mercurial/extensions.py Fri Jul 07 00:12:44 2017 -0700 +++ b/mercurial/extensions.py Fri Jul 07 00:13:53 2017 -0700 @@ -494,7 +494,11 @@ if name in exts or name in _order or name == '__init__': continue exts[name] = path - exts.update(_disabledextensions) + for name, path in _disabledextensions.iteritems(): + # If no path was provided for a disabled extension (e.g. "color=!"), + # don't replace the path we already found by the scan above. + if path: + exts[name] = path return exts def _moduledoc(file): diff -r 67b42e64194d -r 68b7ceda99d7 tests/test-help.t --- a/tests/test-help.t Fri Jul 07 00:12:44 2017 -0700 +++ b/tests/test-help.t Fri Jul 07 00:13:53 2017 -0700 @@ -680,7 +680,11 @@ Disabled extension gets suggested $ hg --config extensions.rebase=! rebase hg: unknown command 'rebase' - (did you mean one of rename, resolve?) + 'rebase' is provided by the following extension: + + rebase command to move sets of revisions to a different ancestor + + (use 'hg help extensions' for information on enabling extensions) [255] Make sure that we don't run afoul of the help system thinking that