diff mercurial/extensions.py @ 33327:68b7ceda99d7

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.<name>=!", we were not finding it, because the path in _disabledextensions was the empty string. If the user had set "extensions.<name>=!<valid path>" it would work, so it seems like just a mistake that it didn't work.
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 07 Jul 2017 00:13:53 -0700
parents c467d13334ee
children 792d121f22ba
line wrap: on
line diff
--- 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):