Opened 13 years ago

Closed 13 years ago

# Skip over headers appearing in wiki-escaped blocks

Reported by: Owned by: Steven N. Severinghaus Alec Thomas normal TocMacro minor toc macro code example bug sns@…

### Description

For example, the header example on the WikiFormatting page confuses the parser. I have a fix but don't have any great way to communicate it. (I'd supply a diff, but I've already made some unrelated changes which would obscure the relevant changes.) Below is what the relevant portion of my version of TOC.py looks like:

def parse_toc(env, out, page, body):
depth = 1
in_example = False
for line in body.splitlines():
line = escape(line)

# Skip over wiki-escaped code, e.g. code examples
if in_example:
if line == '}}}':
in_example = False
else:
continue
if line == '{{{':
in_example = True
continue

# If we're not in an example block, check for list stuff
match = rules.match(line)
if match:


You'll recognize the top couple of lines and the bottom couple of lines, beyond which there were no changes. This bit of code fixes the problem on the WikiFormatting page's TOC without any obvious negative side-effects.

I hope this was an appropriate way of communicating the problem!

### comment:1 Changed 13 years ago by Alec Thomas

Resolution: → fixed new → closed

Resolved by [12].

### Modify Ticket

Change Properties