forked from pool/python-Markdown
Accepting request 1299146 from home:mcepl:branches:devel:languages:python:Factory
- Add fix-py314.patch to fix failing tests on 3.14.* or 3.13.6+ (gh#Python-Markdown/markdown#1547). OBS-URL: https://build.opensuse.org/request/show/1299146 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Markdown?expand=0&rev=110
This commit is contained in:
54
fix-py314.patch
Normal file
54
fix-py314.patch
Normal file
@@ -0,0 +1,54 @@
|
||||
From 15346cd3a73f108bf11c57907b32737f8365d6bd Mon Sep 17 00:00:00 2001
|
||||
From: facelessuser <faceless.shop@gmail.com>
|
||||
Date: Mon, 21 Jul 2025 08:56:43 -0600
|
||||
Subject: [PATCH] Fix failing cases for Python 3.14
|
||||
|
||||
New change requires us to monkey patch `locatetagend` to prevent
|
||||
capturing incomplete tags in code spans.
|
||||
---
|
||||
docs/changelog.md | 6 ++++++
|
||||
markdown/htmlparser.py | 14 ++++++++++++++
|
||||
2 files changed, 20 insertions(+)
|
||||
|
||||
Index: markdown-3.8.2/docs/changelog.md
|
||||
===================================================================
|
||||
--- markdown-3.8.2.orig/docs/changelog.md 2025-06-19 19:12:28.000000000 +0200
|
||||
+++ markdown-3.8.2/docs/changelog.md 2025-08-12 21:13:46.980036183 +0200
|
||||
@@ -10,6 +10,12 @@
|
||||
[Python Version Specification]: https://packaging.python.org/en/latest/specifications/version-specifiers/.
|
||||
See the [Contributing Guide](contributing.md) for details.
|
||||
|
||||
+## [Unreleased]
|
||||
+
|
||||
+### Fixed
|
||||
+
|
||||
+* Fix handling of incomplete HTML tags in code spans in Python 3.14.
|
||||
+
|
||||
## [3.8.2] - 2025-06-19
|
||||
|
||||
### Fixed
|
||||
Index: markdown-3.8.2/markdown/htmlparser.py
|
||||
===================================================================
|
||||
--- markdown-3.8.2.orig/markdown/htmlparser.py 2025-06-19 19:12:28.000000000 +0200
|
||||
+++ markdown-3.8.2/markdown/htmlparser.py 2025-08-12 21:13:46.980214669 +0200
|
||||
@@ -69,6 +69,20 @@
|
||||
)?
|
||||
\s* # trailing whitespace
|
||||
""", re.VERBOSE)
|
||||
+htmlparser.locatetagend = re.compile(r"""
|
||||
+ [a-zA-Z][^`\t\n\r\f />]* # tag name
|
||||
+ [\t\n\r\f /]* # optional whitespace before attribute name
|
||||
+ (?:(?<=['"\t\n\r\f /])[^`\t\n\r\f />][^\t\n\r\f /=>]* # attribute name
|
||||
+ (?:= # value indicator
|
||||
+ (?:'[^']*' # LITA-enclosed value
|
||||
+ |"[^"]*" # LIT-enclosed value
|
||||
+ |(?!['"])[^>\t\n\r\f ]* # bare value
|
||||
+ )
|
||||
+ )?
|
||||
+ [\t\n\r\f /]* # possibly followed by a space
|
||||
+ )*
|
||||
+ >?
|
||||
+""", re.VERBOSE)
|
||||
|
||||
# Match a blank line at the start of a block of text (two newlines).
|
||||
# The newlines may be preceded by additional whitespace.
|
Reference in New Issue
Block a user