mercurial/revsetlang.py
changeset 35595 91201737d07a
parent 35594 468d7a1f6633
child 35596 a57acea31b3b
--- a/mercurial/revsetlang.py	Sat Apr 01 17:44:07 2017 +0900
+++ b/mercurial/revsetlang.py	Sat Apr 01 17:51:56 2017 +0900
@@ -585,7 +585,9 @@
     >>> formatspec(b'branch(%b)', b)
     "branch('default')"
     >>> formatspec(b'root(%ls)', [b'a', b'b', b'c', b'd'])
-    "root(_list('a\\x00b\\x00c\\x00d'))"
+    "root(_list('a\\\\x00b\\\\x00c\\\\x00d'))"
+    >>> formatspec('%ls', ['a', "'"])
+    "_list('a\\\\x00\\\\'')"
     '''
 
     def argtype(c, arg):
@@ -614,7 +616,7 @@
         elif t == 'd':
             return "_intlist('%s')" % "\0".join('%d' % int(a) for a in s)
         elif t == 's':
-            return "_list('%s')" % "\0".join(s)
+            return "_list(%s)" % _quote("\0".join(s))
         elif t == 'n':
             return "_hexlist('%s')" % "\0".join(node.hex(a) for a in s)
         elif t == 'b':