diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -533,7 +533,7 @@ def revrange(repo, revs): pass # fall through to new-style queries if old-style fails - m = revset.match(repo.ui, spec) + m = revset.match(repo.ui, spec, repo) if seen or l: dl = [r for r in m(repo, revset.spanset(repo)) if r not in seen] l = l + dl diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -124,6 +124,7 @@ names that should work without quoting [255] $ log -a-b-c- # succeeds with fallback 4 + $ try -- -a-b-c--a # complains (minus (minus @@ -140,6 +141,13 @@ names that should work without quoting ('symbol', '\xc3\xa9') 9 +no quoting needed + + $ log ::a-b-c- + 0 + 1 + 2 + quoting needed $ try '"-a-b-c-"-a'