--- a/mercurial/templater.py Thu Jun 11 22:58:27 2015 +0900
+++ b/mercurial/templater.py Thu Jun 11 23:04:14 2015 +0900
@@ -547,8 +547,18 @@
# i18n: "label" is a keyword
raise error.ParseError(_("label expects two arguments"))
- # ignore args[0] (the label string) since this is supposed to be a a no-op
- yield args[1][0](context, mapping, args[1][1])
+ thing = evalstring(context, mapping, args[1])
+
+ # apparently, repo could be a string that is the favicon?
+ repo = mapping.get('repo', '')
+ if isinstance(repo, str):
+ return thing
+
+ # preserve unknown symbol as literal so effects like 'red', 'bold',
+ # etc. don't need to be quoted
+ label = evalstringliteral(context, mapping, args[0])
+
+ return repo.ui.label(thing, label)
def latesttag(context, mapping, args):
""":latesttag([pattern]): The global tags matching the given pattern on the