Mercurial > public > mercurial-scm > hg-stable
diff mercurial/parser.py @ 31922:0f41f1e3c75c
parser: preserve order of keyword arguments
This helps building dict(key1=value1, ...) in deterministic way.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 09 Apr 2017 11:58:27 +0900 |
parents | 2156934b7917 |
children | 90896b61fe26 |
line wrap: on
line diff
--- a/mercurial/parser.py Mon Apr 03 22:07:09 2017 +0900 +++ b/mercurial/parser.py Sun Apr 09 11:58:27 2017 +0900 @@ -154,7 +154,7 @@ "arguments") % {'func': funcname, 'nargs': len(poskeys) + len(keys)}) - args = {} + args = util.sortdict() # consume positional arguments for k, x in zip(poskeys, trees[:kwstart]): args[k] = x @@ -165,7 +165,7 @@ args[k] = x # remainder should be keyword arguments if optkey: - args[optkey] = {} + args[optkey] = util.sortdict() for x in trees[kwstart:]: if x[0] != keyvaluenode or x[1][0] != keynode: raise error.ParseError(_("%(func)s got an invalid argument")