--- a/mercurial/dispatch.py Mon May 09 21:13:50 2016 -0400
+++ b/mercurial/dispatch.py Sat May 07 14:12:23 2016 +0100
@@ -670,12 +670,8 @@
return path, lui
-def _checkshellalias(lui, ui, args, precheck=True):
- """Return the function to run the shell alias, if it is required
-
- 'precheck' is whether this function is invoked before adding
- aliases or not.
- """
+def _checkshellalias(lui, ui, args):
+ """Return the function to run the shell alias, if it is required"""
options = {}
try:
@@ -686,16 +682,11 @@
if not args:
return
- if precheck:
- strict = True
- cmdtable = commands.table.copy()
- addaliases(lui, cmdtable)
- else:
- strict = False
- cmdtable = commands.table
+ cmdtable = commands.table
cmd = args[0]
try:
+ strict = ui.configbool("ui", "strict")
aliases, entry = cmdutil.findcmd(cmd, cmdtable, strict)
except (error.AmbiguousCommand, error.UnknownCommand):
return
@@ -745,12 +736,6 @@
rpath = _earlygetopt(["-R", "--repository", "--repo"], args)
path, lui = _getlocal(ui, rpath)
- # Now that we're operating in the right directory/repository with
- # the right config settings, check for shell aliases
- shellaliasfn = _checkshellalias(lui, ui, args)
- if shellaliasfn:
- return shellaliasfn()
-
# Configure extensions in phases: uisetup, extsetup, cmdtable, and
# reposetup. Programs like TortoiseHg will call _dispatch several
# times so we keep track of configured extensions in _loaded.
@@ -772,13 +757,11 @@
addaliases(lui, commands.table)
- if not lui.configbool("ui", "strict"):
- # All aliases and commands are completely defined, now.
- # Check abbreviation/ambiguity of shell alias again, because shell
- # alias may cause failure of "_parse" (see issue4355)
- shellaliasfn = _checkshellalias(lui, ui, args, precheck=False)
- if shellaliasfn:
- return shellaliasfn()
+ # All aliases and commands are completely defined, now.
+ # Check abbreviation/ambiguity of shell alias.
+ shellaliasfn = _checkshellalias(lui, ui, args)
+ if shellaliasfn:
+ return shellaliasfn()
# check for fallback encoding
fallback = lui.config('ui', 'fallbackencoding')