#587 closed defect (fixed)
Restructured Text parsing - problem with leading spaces before a heading
| Reported by: | Owned by: | daniel | |
|---|---|---|---|
| Priority: | normal | Milestone: | 0.8 |
| Component: | wiki system | Version: | 0.7.1 |
| Severity: | normal | Keywords: | |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
To reproduce the problem:
Create a new Wiki page, define Restructured Text formatting, then add a ReST heading in the normal manner, but with one or more leading spaces. Hit 'save', or 'preview'.
Trac then issues the following error, and a traceback.
Apologies in advance if this is a false alarm - I know it's bad formatting as far as docutils is concerned. But shouldn't Trac catch the exception gracefully, rather than dumping a traceback?
Here is the error that's produced:
Trac detected an internal error:
:3: (SEVERE/4) Unexpected section title.
Here is the traceback that's produced:
Traceback (most recent call last):
File "/usr/local/lib/python2.3/site-packages/trac/core.py", line 475, in cgi_start
real_cgi_start()
File "/usr/local/lib/python2.3/site-packages/trac/core.py", line 470, in real_cgi_start
dispatch_request(path_info, args, req, env, database)
File "/usr/local/lib/python2.3/site-packages/trac/core.py", line 380, in dispatch_request
module.run()
File "/usr/local/lib/python2.3/site-packages/trac/Module.py", line 41, in run
self.render()
File "/usr/local/lib/python2.3/site-packages/trac/Wiki.py", line 766, in render
Formatter(self.req.hdf, self.env).format(self.page.text, out)
File "/usr/local/lib/python2.3/site-packages/trac/Wiki.py", line 493, in format
self.handle_code_block(line)
File "/usr/local/lib/python2.3/site-packages/trac/Wiki.py", line 454, in handle_code_block
self.out.write(self.code_processor(self.hdf, self.code_text, self.env))
File "/usr/local/lib/python2.3/site-packages/trac/wikimacros/rst.py", line 142, in execute
html = publish_string(text, writer_name = 'html', parser = _parser)
File "/usr/local/lib/python2.3/site-packages/docutils/core.py", line 336, in publish_string
return pub.publish(enable_exit=enable_exit)
File "/usr/local/lib/python2.3/site-packages/docutils/core.py", line 168, in publish
document = self.reader.read(self.source, self.parser, self.settings)
File "/usr/local/lib/python2.3/site-packages/docutils/readers/__init__.py", line 65, in read
self.parse()
File "/usr/local/lib/python2.3/site-packages/docutils/readers/__init__.py", line 71, in parse
self.parser.parse(self.input, document)
File "/usr/local/lib/python2.3/site-packages/docutils/parsers/rst/__init__.py", line 122, in parse
self.statemachine.run(inputlines, document, inliner=self.inliner)
File "/usr/local/lib/python2.3/site-packages/docutils/parsers/rst/states.py", line 170, in run
input_source=document['source'])
File "/usr/local/lib/python2.3/site-packages/docutils/statemachine.py", line 232, in run
context, next_state, result = self.check_line(
File "/usr/local/lib/python2.3/site-packages/docutils/statemachine.py", line 416, in check_line
return method(match, context, next_state)
File "/usr/local/lib/python2.3/site-packages/docutils/parsers/rst/states.py", line 1236, in indent
blockquote, messages = self.block_quote(indented, line_offset)
File "/usr/local/lib/python2.3/site-packages/docutils/parsers/rst/states.py", line 1247, in block_quote
self.nested_parse(blockquote_lines, line_offset, blockquote)
File "/usr/local/lib/python2.3/site-packages/docutils/parsers/rst/states.py", line 273, in nested_parse
node=node, match_titles=match_titles)
File "/usr/local/lib/python2.3/site-packages/docutils/parsers/rst/states.py", line 202, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "/usr/local/lib/python2.3/site-packages/docutils/statemachine.py", line 232, in run
context, next_state, result = self.check_line(
File "/usr/local/lib/python2.3/site-packages/docutils/statemachine.py", line 416, in check_line
return method(match, context, next_state)
File "/usr/local/lib/python2.3/site-packages/docutils/parsers/rst/states.py", line 2619, in underline
nodes.literal_block(blocktext, blocktext), line=lineno)
File "/usr/local/lib/python2.3/site-packages/docutils/utils.py", line 225, in severe
return self.system_message(4, *args, **kwargs)
File "/usr/local/lib/python2.3/site-packages/docutils/utils.py", line 184, in system_message
raise SystemMessage(msg)
SystemMessage: :3: (SEVERE/4) Unexpected section title.
heading 1
=========
Attachments (0)
Change History (3)
comment:1 by , 21 years ago
| Milestone: | → 0.8 |
|---|
comment:2 by , 21 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |



I believe it is a correct rest error, although a nicer error output would be nice.