diff options
author | Waylan Limberg <waylan@gmail.com> | 2008-11-18 12:46:35 -0500 |
---|---|---|
committer | Waylan Limberg <waylan@gmail.com> | 2008-11-18 12:46:35 -0500 |
commit | 41ebca604f081d1bb798d3178f674e960a2e4ec1 (patch) | |
tree | 7429df8ec85ddbea1707ebdf807c8ff614c43598 /markdown/blockprocessors.py | |
parent | 60ef37b47b99fc51683a51640ba98f2d5a25a427 (diff) | |
download | markdown-41ebca604f081d1bb798d3178f674e960a2e4ec1.tar.gz markdown-41ebca604f081d1bb798d3178f674e960a2e4ec1.tar.bz2 markdown-41ebca604f081d1bb798d3178f674e960a2e4ec1.zip |
Fixed BlockParser to parse code blocks nested in list items and added a test. Somehow we never had a test for that before. Also reset markdown.py to be executable again.
Diffstat (limited to 'markdown/blockprocessors.py')
-rw-r--r-- | markdown/blockprocessors.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/markdown/blockprocessors.py b/markdown/blockprocessors.py index b120d73..646ae9f 100644 --- a/markdown/blockprocessors.py +++ b/markdown/blockprocessors.py @@ -115,6 +115,7 @@ class ListIndentProcessor(BlockProcessor): def test(self, parent, block): return block.startswith(' '*markdown.TAB_LENGTH) and \ + not self.parser.state.isstate('detabbed') and \ (parent.tag == "li" or \ (len(parent) and parent[-1] and \ (parent[-1].tag == "ul" or parent[-1].tag == "ol") @@ -124,6 +125,7 @@ class ListIndentProcessor(BlockProcessor): def run(self, parent, blocks): block = self.looseDetab(blocks.pop(0)) sibling = self.lastChild(parent) + self.parser.state.set('detabbed') if parent.tag == 'li': # The parent is already a li. Just parse the child block. self.parser.parseBlocks(parent, [block]) @@ -139,6 +141,7 @@ class ListIndentProcessor(BlockProcessor): # Create a new li and parse the block with it as the parent. li = markdown.etree.SubElement(sibling, 'li') self.parser.parseBlocks(li, [block]) + self.parser.state.reset() class CodeBlockProcessor(BlockProcessor): |