# HG changeset patch # User Yuya Nishihara # Date 2017-03-16 12:33:25 # Node ID f784ba187089989c0a8cf68f8e939cfb4759b7ee # Parent b70407bd84d56a2032190a3ebee1494e040b3e24 py3: use bytestr wrapper in revsetlang.formatspec() This backs out 1c48a8278b2f and wraps expr by bytestr() instead. diff --git a/mercurial/revsetlang.py b/mercurial/revsetlang.py --- a/mercurial/revsetlang.py +++ b/mercurial/revsetlang.py @@ -640,14 +640,15 @@ def formatspec(expr, *args): m = l // 2 return '(%s or %s)' % (listexp(s[:m], t), listexp(s[m:], t)) + expr = pycompat.bytestr(expr) ret = '' pos = 0 arg = 0 while pos < len(expr): - c = expr[pos:pos + 1] + c = expr[pos] if c == '%': pos += 1 - d = expr[pos:pos + 1] + d = expr[pos] if d == '%': ret += d elif d in 'dsnbr': @@ -656,7 +657,7 @@ def formatspec(expr, *args): elif d == 'l': # a list of some type pos += 1 - d = expr[pos:pos + 1] + d = expr[pos] ret += listexp(list(args[arg]), d) arg += 1 else: