# HG changeset patch # User cmlenz # Date 1212659393 0 # Node ID 92e2fb9c056f5c4b01a701e186de9405c7d20919 # Parent a61ab7bbe12de2defa333e2feab5999c783aab15 Tweak to [854] to not change the ordering of attributes compared to how they were previously ordered, to avoid breaking any tests that rely on the order. See #216. diff --git a/genshi/builder.py b/genshi/builder.py --- a/genshi/builder.py +++ b/genshi/builder.py @@ -152,12 +152,14 @@ def _kwargs_to_attrs(kwargs): - retval = {} + attrs = [] + names = set() for name, value in kwargs.items(): name = name.rstrip('_').replace('_', '-') - if value is not None and name not in retval: - retval[QName(name)] = unicode(value) - return Attrs(retval.items()) + if value is not None and name not in names: + attrs.append((QName(name), unicode(value))) + names.add(name) + return Attrs(attrs) class Element(Fragment):