# HG changeset patch # User cmlenz # Date 1160725421 0 # Node ID 7487632f467cdec5d0373da5ed2c0ee62cea63ea # Parent 8015a5c44114fa803b5b6b48d2c6d6a79b22ac66 Ported [356] to 0.3.x branch. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Version 0.3.3 +http://svn.edgewall.org/repos/genshi/tags/0.3.3/ +(?, from branches/stable/0.3.x) + + * Fixed bug introduced in 0.3.2 that broke the parsing of templates which + declare the same namespace more than once in a nested fashion. + + Version 0.3.2 http://svn.edgewall.org/repos/genshi/tags/0.3.2/ (Oct 12 2006, from branches/stable/0.3.x) diff --git a/genshi/template.py b/genshi/template.py --- a/genshi/template.py +++ b/genshi/template.py @@ -1002,8 +1002,8 @@ stream.append((kind, data, pos)) elif kind is END_NS: - uri = ns_prefix.pop(data) - if uri != self.NAMESPACE: + uri = ns_prefix.pop(data, None) + if uri and uri != self.NAMESPACE: stream.append((kind, data, pos)) elif kind is START: diff --git a/genshi/tests/template.py b/genshi/tests/template.py --- a/genshi/tests/template.py +++ b/genshi/tests/template.py @@ -1045,6 +1045,16 @@ self.assertEqual("""
""", str(tmpl.generate())) + def test_parse_with_same_namespace_nested(self): + tmpl = MarkupTemplate("""
+ + +
""") + self.assertEqual("""
+ + +
""", str(tmpl.generate())) + class TextTemplateTestCase(unittest.TestCase): """Tests for text template processing."""