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.
--- 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.
--- a/tests/test-command-template.t Wed Jul 01 16:33:31 2015 -0500
+++ b/tests/test-command-template.t Sat Jun 27 15:28:46 2015 +0900
@@ -2880,9 +2880,6 @@
$ hg log -r 2 --style ../escquotetmpl
" \" \" \\" head1
- $ hg log -r 2 -T esc --config templates.esc='{\"invalid\"}\n'
- hg: parse error at 1: syntax error
- [255]
$ hg log -r 2 -T esc --config templates.esc='"{\"valid\"}\n"'
valid
$ hg log -r 2 -T esc --config templates.esc="'"'{\'"'"'valid\'"'"'}\n'"'"