id summary reporter owner description type status priority milestone component version resolution keywords cc
566 IndexError: pop from empty list with i18n:msg on Genshi 0.6.1 jomae hodgestar "This issue is originally reported at trac:#11184.
When an element with `i18n:msg` attribute has last element which has `$var` as contents and it is translated with `""aaa [1:%(name)s] zzz""`, got `IndexError: pop from empty list`.
{{{
#!py
def test_translate_i18n_msg_ticket_404_regression(self):
tmpl = MarkupTemplate(""""""
"""""")
gettext = lambda s: u'head [1:%(name)s] tail'
translator = Translator(gettext)
translator.setup(tmpl)
self.assertEqual(""""""
head NAME tail
"""""", tmpl.generate(name='NAME').render())
}}}
{{{
Traceback (most recent call last):
File ""genshi/filters/tests/i18n.py"", line 918, in test_translate_i18n_msg_ticket_404_regression
self.assertEqual(""""""
File ""/home/jun66j5/src/genshi/hg/genshi/core.py"", line 183, in render
return encode(generator, method=method, encoding=encoding, out=out)
File ""/home/jun66j5/src/genshi/hg/genshi/output.py"", line 57, in encode
return _encode(''.join(list(iterator)))
File ""/home/jun66j5/src/genshi/hg/genshi/output.py"", line 241, in __call__
for kind, data, pos in stream:
File ""/home/jun66j5/src/genshi/hg/genshi/output.py"", line 669, in __call__
for kind, data, pos in stream:
File ""/home/jun66j5/src/genshi/hg/genshi/output.py"", line 774, in __call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File ""/home/jun66j5/src/genshi/hg/genshi/output.py"", line 594, in __call__
for ev in stream:
File ""/home/jun66j5/src/genshi/hg/genshi/core.py"", line 288, in _ensure
for event in stream:
File ""/home/jun66j5/src/genshi/hg/genshi/template/base.py"", line 617, in _include
for event in stream:
File ""/home/jun66j5/src/genshi/hg/genshi/template/markup.py"", line 326, in _match
for event in stream:
File ""/home/jun66j5/src/genshi/hg/genshi/template/base.py"", line 557, in _flatten
for kind, data, pos in stream:
File ""/home/jun66j5/src/genshi/hg/genshi/filters/i18n.py"", line 177, in _generate
for event in msgbuf.translate(gettext(msgbuf.format())):
File ""/home/jun66j5/src/genshi/hg/genshi/filters/i18n.py"", line 1044, in translate
events = self.events[order].pop(0)
IndexError: pop from empty list
}}}" defect closed major 0.6.2 Template processing 0.6 fixed felix.schwarz@… jargon@…