aboutsummaryrefslogtreecommitdiffstats
path: root/markdown/blockprocessors.py
diff options
context:
space:
mode:
authorWaylan Limberg <waylan@gmail.com>2008-11-18 12:46:35 -0500
committerWaylan Limberg <waylan@gmail.com>2008-11-18 12:46:35 -0500
commit41ebca604f081d1bb798d3178f674e960a2e4ec1 (patch)
tree7429df8ec85ddbea1707ebdf807c8ff614c43598 /markdown/blockprocessors.py
parent60ef37b47b99fc51683a51640ba98f2d5a25a427 (diff)
downloadmarkdown-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.py3
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):