diff options
author | Waylan Limberg <waylan@gmail.com> | 2014-09-08 22:37:45 -0400 |
---|---|---|
committer | Waylan Limberg <waylan@gmail.com> | 2014-09-08 22:37:45 -0400 |
commit | b91a37be0ab019fa1ee0b94014a6ed0c7ff5dbf5 (patch) | |
tree | 6eb33cd6eebc1a9f90c99976d4cbfac4b776fd94 /tests/extensions/smarty.txt | |
parent | 7db56daedf8a6006222f55eeeab748e7789fba89 (diff) | |
download | markdown-b91a37be0ab019fa1ee0b94014a6ed0c7ff5dbf5.tar.gz markdown-b91a37be0ab019fa1ee0b94014a6ed0c7ff5dbf5.tar.bz2 markdown-b91a37be0ab019fa1ee0b94014a6ed0c7ff5dbf5.zip |
Code Blocks must always be AtomicStrings
Fixes #340. The "inline" TreeProcessor runs before the "prettify"
TreeProcessor, but the "smarty" TreeProcessor (wich is just another
instance of `InlineProcessor`) runs after the "prettify" TreeProcessor.
The problem was that the "prettify" TreeProcessor was losing the
AtomicString quality of the text of code blocks (any operation
on a string creates a new string. When that string is an AtomicString,
the new string must explicitly be declared as an AtomicString.
As the "prettify" TreeProcessor cleans up newlines on code blocks,
it was changing the AtomicString to a normal string. And as
`InlineProcessor` identifies what elements to skip solely by whether
the text is an AtomicString, the "smarty" instance was running on
code blocks.
Importantly, I added a test of code blocks and spans for smarty,
so this shouldn't break again.
Diffstat (limited to 'tests/extensions/smarty.txt')
-rw-r--r-- | tests/extensions/smarty.txt | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tests/extensions/smarty.txt b/tests/extensions/smarty.txt index 3b034cf..35fb219 100644 --- a/tests/extensions/smarty.txt +++ b/tests/extensions/smarty.txt @@ -28,4 +28,9 @@ Escaped \-- ndash Escaped ellipsis\... 'Escaped \"quotes\" in real ones' -\'"Real" quotes in escaped ones\'
\ No newline at end of file +\'"Real" quotes in escaped ones\' + +Skip `"code" -- --- 'spans' ...`. + + Also skip "code" 'blocks' + foo -- bar --- baz ... |