Ticket #4336 (reopened defect)
New _group_lines doesn't check for empty text node
| Reported by: | Tim Hatch <trac@…> | Owned by: | thatch |
|---|---|---|---|
| Priority: | high | Milestone: | 0.11.2 |
| Component: | version control/browser | Version: | devel |
| Severity: | minor | Keywords: | mimeview |
| Cc: |
Description
If there's an empty string returned as a TEXT event, the _group_lines function raises an exception because "".splitlines(True) returns [], not [''] so you can't pop.
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/trac/mimeview/api.py", line 475, in render
return self._annotate(result, annotations, m and Ranges(m))
File "/usr/lib/python2.4/site-packages/trac/mimeview/api.py", line 512, in _annotate
tag.tbody(_body_rows())
File "build/bdist.linux-i686/egg/genshi/builder.py", line 177, in __call__
File "build/bdist.linux-i686/egg/genshi/builder.py", line 32, in __call__
File "build/bdist.linux-i686/egg/genshi/builder.py", line 57, in append
File "/usr/lib/python2.4/site-packages/trac/mimeview/api.py", line 501, in _body_rows
for idx, line in enumerate(_group_lines(stream)):
File "/usr/lib/python2.4/site-packages/trac/mimeview/api.py", line 672, in _group_lines
for kind, data, pos in _generate():
File "/usr/lib/python2.4/site-packages/trac/mimeview/api.py", line 650, in _generate
yield kind, lines.pop(0).rstrip('\n'), pos
IndexError: pop from empty list
Quick solution:
-
trac/mimeview/api.py
647 647 lines = data.splitlines(True) 648 648 for e in stack: 649 649 yield e 650 if not lines: continue 650 651 yield kind, lines.pop(0).rstrip('\n'), pos 651 652 for e in _reverse(): 652 653 yield e
Present post-r4399.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.


