Code spans that wrap onto the next line are no longer recognised (regression from the #702 fix)
Les mainteneurs répondent en général sous 3 jours
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 55/100
Piste de recherche
Start by reading _code_span_re and the #702 change that removed re.S, then trace the related safe mode handling described in the issue. Check how code spans with line endings are parsed and how safe_mode="escape" and safe_mode="replace" behave. Done means wrapped code spans are recognized while the #702 safety handling remains correct.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Since 69635a9 (the fix for #702), a code span that wraps onto the next line is no longer recognised. This is common in hard-wrapped docs:
>>> markdown2.markdown("Call the `foo\nbar()` function.")
'<p>Call the `foo\nbar()` function.</p>\n'
Before that commit, the same input gave:
'<p>Call the <code>foo\nbar()</code> function.</p>\n'
The commit removed re.S from _code_span_re, so . in the pattern no longer matches the line ending. As far as I can tell this hasn't been released yet (it's after 2.5.5), so it might be worth sorting out before the next release.
Code spans can contain line endings in Markdown.pl and in CommonMark (spec, 6.1, where line endings are turned into spaces), so this looks unintended.
Simply putting re.S back doesn't seem right either. It doesn't bring back an executable XSS (the #702 example comes out escaped in safe_mode="escape"), but in safe_mode="replace" the tag is escaped instead of replaced. So the fix probably needs to happen together with the #702 handling. I didn't want to guess at the intended approach, so I'm opening this as an issue instead of a PR.
- Langage dominant
- Python
- Étoiles
- 2.8k
- Forks
- 477
- Merge moyen
- 4 j 10 h
- PR mergées (30 j)
- 12
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de trentm/python-markdown2
-
Add py.typed markerPeut-être pris @mac-agent l’a pris il y a 219 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
trentm/python-markdown2#696 ·
Les mainteneurs répondent en général sous 3 jours
-
link-patterns extra replaces matches inside inline HTML tags and destroys email auto-linksPeut-être pris @rahul05ranjan l’a pris il y a 5 jours. OuverteBug
Difficulté 3/5 1-2 jours Accessibilité débutants 30/100
trentm/python-markdown2#752 ·
Les mainteneurs répondent en général sous 3 jours
-
Quadratic-time inline-link parsing: many unclosed [...]( cause a CPU DoSPeut-être pris @ParamTanna l’a pris il y a 6 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
trentm/python-markdown2#750 ·
Les mainteneurs répondent en général sous 3 jours
-
Bug
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
trentm/python-markdown2#688 · 4 commentaires ·
Les mainteneurs répondent en général sous 3 jours
-
Bug
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
trentm/python-markdown2#679 · 2 commentaires ·
Les mainteneurs répondent en général sous 3 jours
Toutes les issues de trentm/python-markdown2
Issues similaires
-
cost:cheap practicality:seen-in-the-wild severity:medium
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
fairagro/m4.2_advanced_middleware_api#620 ·
Les mainteneurs répondent en général sous 1 jour
-
area:security effort:S priority:P2 provider:local-libvirt status:ready type:docs
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
randomparity/kdive#3495 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
microsoft/markitdown#2820 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours