--- a/mercurial/revset.py Thu Sep 10 23:25:10 2015 +0900
+++ b/mercurial/revset.py Thu Sep 10 23:29:55 2015 +0900
@@ -244,7 +244,7 @@
c = program[pos]
decode = lambda x: x
else:
- decode = lambda x: x.decode('string-escape')
+ decode = parser.unescapestr
pos += 1
s = pos
while pos < l: # find closing quote
--- a/tests/test-revset.t Thu Sep 10 23:25:10 2015 +0900
+++ b/tests/test-revset.t Thu Sep 10 23:29:55 2015 +0900
@@ -353,6 +353,9 @@
$ log 'date('
hg: parse error at 5: not a prefix: end
[255]
+ $ log 'date("\xy")'
+ hg: parse error: invalid \x escape
+ [255]
$ log 'date(tip)'
abort: invalid date: 'tip'
[255]