-
-
Notifications
You must be signed in to change notification settings - Fork 170
Closed
Milestone
Description
I have a very similar issue to #467, however it is one that persists after the 3.0.1 patch.
Essentially what is happening is that str
subclasses which override __str__()
are no longer (since 2.1.5) handled in the same way
I encountered this with django's SafeString, however for the purpose of repro I have a simpler example below:
from markupsafe import _escape_inner
class NewString(str):
def __str__(self):
return self
s = NewString("abc")
_escape_inner(s)
output:
---------------------------------------------------------------------------
SystemError Traceback (most recent call last)
Cell In[4], line 1
----> 1 _escape_inner(s)
SystemError: <built-in function _escape_inner> returned NULL without setting an exception
Environment:
- Python version: 3.10.12
- MarkupSafe version: 3.0.1
Metadata
Metadata
Assignees
Labels
No labels