--- a/mercurial/templater.py Fri Jun 05 12:57:21 2015 -0700
+++ b/mercurial/templater.py Mon Jun 08 18:14:22 2015 +0900
@@ -326,12 +326,13 @@
yield dictarg.get(key)
def _evalifliteral(arg, context, mapping):
- t = stringify(arg[0](context, mapping, arg[1]))
- if arg[0] == runstring or arg[0] == runrawstring:
+ # get back to token tag to reinterpret string as template
+ strtoken = {runstring: 'string', runrawstring: 'rawstring'}.get(arg[0])
+ if strtoken:
yield runtemplate(context, mapping,
- compiletemplate(t, context, strtoken='rawstring'))
+ compiletemplate(arg[1], context, strtoken))
else:
- yield t
+ yield stringify(arg[0](context, mapping, arg[1]))
def if_(context, mapping, args):
""":if(expr, then[, else]): Conditionally execute based on the result of