mercurial/revsetlang.py
changeset 35591 8f1a7adb3225
parent 35561 4c3a4bb31c0e
child 35592 0fd617afebc0
equal deleted inserted replaced
35590:aaeba70d5cbe 35591:8f1a7adb3225
   598             return '(%s)' % arg
   598             return '(%s)' % arg
   599         elif c == 'n':
   599         elif c == 'n':
   600             return _quote(node.hex(arg))
   600             return _quote(node.hex(arg))
   601         elif c == 'b':
   601         elif c == 'b':
   602             return _quote(arg.branch())
   602             return _quote(arg.branch())
       
   603         raise error.ParseError(_('unexpected revspec format character %s') % c)
   603 
   604 
   604     def listexp(s, t):
   605     def listexp(s, t):
   605         l = len(s)
   606         l = len(s)
   606         if l == 0:
   607         if l == 0:
   607             return "_list('')"
   608             return "_list('')"
   631         ret.append(expr[pos:q])
   632         ret.append(expr[pos:q])
   632         pos = q + 1
   633         pos = q + 1
   633         d = expr[pos]
   634         d = expr[pos]
   634         if d == '%':
   635         if d == '%':
   635             ret.append(d)
   636             ret.append(d)
   636         elif d in 'dsnbr':
       
   637             ret.append(argtype(d, next(argiter)))
       
   638         elif d == 'l':
   637         elif d == 'l':
   639             # a list of some type
   638             # a list of some type
   640             pos += 1
   639             pos += 1
   641             d = expr[pos]
   640             d = expr[pos]
   642             ret.append(listexp(list(next(argiter)), d))
   641             ret.append(listexp(list(next(argiter)), d))
   643         else:
   642         else:
   644             raise error.ParseError(_('unexpected revspec format character %s')
   643             ret.append(argtype(d, next(argiter)))
   645                                    % d)
       
   646         pos += 1
   644         pos += 1
   647 
   645 
   648     return ''.join(ret)
   646     return ''.join(ret)
   649 
   647 
   650 def prettyformat(tree):
   648 def prettyformat(tree):