Skip to content

safe_mode='escape' problems/regressions #660

@justanotheranonymoususer

Description

This is a follow-up for #647. Some things weren't fixed, and some were regressed.

Version: 3fe9325

import markdown2

# Incorrect escaping in code.
# Expected: <p><code>C:\&lt;folder&gt;</code></p>
# Actual: <p><code>C:&amp;lt;folder&gt;</code></p>
markdown_text = R"`C:\<folder>`"
print(markdown2.markdown(markdown_text, safe_mode='escape'))

# Incorrect escaping in text.
# Expected: <p>&lt;why?</p>
# Actual: <p>&amp;lt;why?</p>
markdown_text = R"\<why?"
print(markdown2.markdown(markdown_text, safe_mode='escape'))

# Fenced code blocks joined to list with code highlighting.
#
# Make sure pygments is installed:
# pip install pygments
#
# Expected:
# <ul>
# <li>Item 1</li>
# <li>Item 2</li>
# </ul>
#
# <div class="codehilite">
# <pre><span></span><code><span class="c1">// Some code</span>
# </code></pre>
# </div>
#
# Actual:
# <ul>
# <li>Item 1</li>
# <li>Item 2
# <div class="codehilite">
# <pre><span></span><code><span class="c1">// Some code</span>
# </code></pre>
# </div></li>
# </ul>
markdown_text = R"""
* Item 1
* Item 2

```cpp
// Some code
```
"""
print(markdown2.markdown(markdown_text, safe_mode='escape',
                         extras={'fenced-code-blocks': None}))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions