diff --git a/CHANGES.md b/CHANGES.md index 0bd48b18..085311a1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,6 +4,7 @@ - [pull #617] Add MarkdownFileLinks extra (#528) - [pull #622] Add missing block tags to regex (#620) +- [pull #623] Don't escape plus signs in URLs (#621) ## python-markdown2 2.5.3 diff --git a/lib/markdown2.py b/lib/markdown2.py index a47df6a6..60553e20 100755 --- a/lib/markdown2.py +++ b/lib/markdown2.py @@ -4099,8 +4099,6 @@ def _html_escape_url( .replace('<', '<') .replace('>', '>')) if safe_mode: - if charset != 'base64': - escaped = escaped.replace('+', ' ') escaped = escaped.replace("'", "'") return escaped diff --git a/test/tm-cases/safe_mode_issue621.html b/test/tm-cases/safe_mode_issue621.html new file mode 100644 index 00000000..2bd9356b --- /dev/null +++ b/test/tm-cases/safe_mode_issue621.html @@ -0,0 +1 @@ +
diff --git a/test/tm-cases/safe_mode_issue621.opts b/test/tm-cases/safe_mode_issue621.opts new file mode 100644 index 00000000..de64198e --- /dev/null +++ b/test/tm-cases/safe_mode_issue621.opts @@ -0,0 +1 @@ +{'safe_mode': 'escape'} \ No newline at end of file diff --git a/test/tm-cases/safe_mode_issue621.text b/test/tm-cases/safe_mode_issue621.text new file mode 100644 index 00000000..f8c742d4 --- /dev/null +++ b/test/tm-cases/safe_mode_issue621.text @@ -0,0 +1 @@ +[Chromium](https://chromium.googlesource.com/v8/v8.git/+/refs/heads/beta) \ No newline at end of file