Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templater.py @ 25696:c1cac25ad1a6
templater: remove workaround for escaped quoted string in quoted template
This patch backs out 554d6fcc3c84 which should no longer be needed.
The test for '{\"invalid\"}' is removed because the parser is permissive for
\"...\" literal.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 27 Jun 2015 15:28:46 +0900 |
parents | ce3d4b858420 |
children | 8b900b937e1c |
line wrap: on
line diff
--- a/mercurial/templater.py Wed Jul 01 16:33:31 2015 -0500 +++ b/mercurial/templater.py Sat Jun 27 15:28:46 2015 +0900 @@ -698,21 +698,7 @@ '''unwrap quotes''' if len(s) < 2 or s[0] != s[-1]: raise SyntaxError(_('unmatched quotes')) - # de-backslash-ify only <\">. it is invalid syntax in non-string part of - # template, but we are likely to escape <"> in quoted string and it was - # accepted before, thanks to issue4290. <\\"> is unmodified because it - # is ambiguous and it was processed as such before 2.8.1. - # - # template result - # --------- ------------------------ - # {\"\"} parse error - # "{""}" {""} -> <> - # "{\"\"}" {""} -> <> - # {"\""} {"\""} -> <"> - # '{"\""}' {"\""} -> <"> - # "{"\""}" parse error (don't care) - q = s[0] - return s[1:-1].replace('\\\\' + q, '\\\\\\' + q).replace('\\' + q, q) + return s[1:-1] class engine(object): '''template expansion engine.