diff -r defabf63e969 -r 8ff1ecfadcd1 mercurial/parser.py --- a/mercurial/parser.py Tue Oct 08 15:15:37 2019 -0700 +++ b/mercurial/parser.py Tue Oct 08 15:06:18 2019 -0700 @@ -163,12 +163,12 @@ ) if kwstart < len(poskeys): raise error.ParseError( - _(b"%(func)s takes at least %(nargs)d positional " b"arguments") + _(b"%(func)s takes at least %(nargs)d positional arguments") % {b'func': funcname, b'nargs': len(poskeys)} ) if not varkey and kwstart > len(poskeys) + len(keys): raise error.ParseError( - _(b"%(func)s takes at most %(nargs)d positional " b"arguments") + _(b"%(func)s takes at most %(nargs)d positional arguments") % {b'func': funcname, b'nargs': len(poskeys) + len(keys)} ) args = util.sortdict() @@ -193,7 +193,7 @@ d = args elif not optkey: raise error.ParseError( - _(b"%(func)s got an unexpected keyword " b"argument '%(key)s'") + _(b"%(func)s got an unexpected keyword argument '%(key)s'") % {b'func': funcname, b'key': k} ) else: @@ -713,7 +713,7 @@ raise error.Abort(a.error) if a in expanding: raise error.ParseError( - _(b'infinite expansion of %(section)s ' b'"%(name)s" detected') + _(b'infinite expansion of %(section)s "%(name)s" detected') % {b'section': cls._section, b'name': a.name} ) # get cacheable replacement tree by expanding aliases recursively