Mercurial > public > mercurial-scm > hg
comparison mercurial/revsetlang.py @ 31606:0b3eb280564b
revsetlang: perform quoting using ui.escapestr instead of repr()
This changes one of the doctest results, but I'm pretty sure on
inspection that it's an equivalent result.
author | Augie Fackler <augie@google.com> |
---|---|
date | Thu, 23 Mar 2017 10:46:50 -0400 |
parents | 0b94c19b641c |
children | f3b151278655 |
comparison
equal
deleted
inserted
replaced
31605:0b94c19b641c | 31606:0b3eb280564b |
---|---|
13 from . import ( | 13 from . import ( |
14 error, | 14 error, |
15 node, | 15 node, |
16 parser, | 16 parser, |
17 pycompat, | 17 pycompat, |
18 util, | |
18 ) | 19 ) |
19 | 20 |
20 elements = { | 21 elements = { |
21 # token-type: binding-strength, primary, prefix, infix, suffix | 22 # token-type: binding-strength, primary, prefix, infix, suffix |
22 "(": (21, None, ("group", 1, ")"), ("func", 1, ")"), None), | 23 "(": (21, None, ("group", 1, ")"), ("func", 1, ")"), None), |
579 >>> _quote('asdf') | 580 >>> _quote('asdf') |
580 "'asdf'" | 581 "'asdf'" |
581 >>> _quote("asdf'\"") | 582 >>> _quote("asdf'\"") |
582 '\'asdf\\\'"\'' | 583 '\'asdf\\\'"\'' |
583 >>> _quote('asdf\'') | 584 >>> _quote('asdf\'') |
584 '"asdf\'"' | 585 "'asdf\\''" |
585 >>> _quote(1) | 586 >>> _quote(1) |
586 "'1'" | 587 "'1'" |
587 """ | 588 """ |
588 return repr(str(s)) | 589 return "'%s'" % util.escapestr('%s' % s) |
589 | 590 |
590 def formatspec(expr, *args): | 591 def formatspec(expr, *args): |
591 ''' | 592 ''' |
592 This is a convenience function for using revsets internally, and | 593 This is a convenience function for using revsets internally, and |
593 escapes arguments appropriately. Aliases are intentionally ignored | 594 escapes arguments appropriately. Aliases are intentionally ignored |