templater: add symbol to error
This patch makes it easier to debug writing templater functions by
telling the user exactly what was sent to the templater.
--- a/mercurial/templater.py Thu Jun 12 17:53:37 2014 -0700
+++ b/mercurial/templater.py Thu Jun 12 18:07:21 2014 -0700
@@ -111,7 +111,7 @@
def getsymbol(exp):
if exp[0] == 'symbol':
return exp[1]
- raise error.ParseError(_("expected a symbol"))
+ raise error.ParseError(_("expected a symbol, got '%s'") % exp[0])
def getlist(x):
if not x:
--- a/tests/test-command-template.t Thu Jun 12 17:53:37 2014 -0700
+++ b/tests/test-command-template.t Thu Jun 12 18:07:21 2014 -0700
@@ -1911,3 +1911,9 @@
|
o line 1
line 2
+
+Test bad template with better error message
+
+ $ hg log -Gv -R a --template '{desc|user()}'
+ hg: parse error: expected a symbol, got 'func'
+ [255]