Added a workaround against #116 (Thanks Andrey Somov).
diff --git a/lib/yaml/emitter.py b/lib/yaml/emitter.py index 0932942..e6780ba 100644 --- a/lib/yaml/emitter.py +++ b/lib/yaml/emitter.py
@@ -581,7 +581,9 @@ return tag handle = None suffix = tag - for prefix in self.tag_prefixes: + prefixes = self.tag_prefixes.keys() + prefixes.sort() + for prefix in prefixes: if tag.startswith(prefix) \ and (prefix == u'!' or len(prefix) < len(tag)): handle = self.tag_prefixes[prefix]