Code spans that wrap onto the next line are no longer recognised (regression from the #702 fix)
I maintainer di solito rispondono entro 3 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 2.8k
- Fork
- 477
- Merge medio
- 4g 6h
- PR unite (30g)
- 12
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di trentm/python-markdown2
-
Add py.typed markerForse già presa @mac-agent l’ha presa 220 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
trentm/python-markdown2#696 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 53/100
trentm/python-markdown2#763 ·
I maintainer di solito rispondono entro 3 giorni
-
link-patterns extra replaces matches inside inline HTML tags and destroys email auto-linksForse già presa @rahul05ranjan l’ha presa 6 giorni fa. ApertaBug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 30/100
trentm/python-markdown2#752 ·
I maintainer di solito rispondono entro 3 giorni
-
Quadratic-time inline-link parsing: many unclosed [...]( cause a CPU DoSForse già presa @ParamTanna l’ha presa 7 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
trentm/python-markdown2#750 ·
I maintainer di solito rispondono entro 3 giorni
-
Bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
trentm/python-markdown2#688 · 4 commenti ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di trentm/python-markdown2
Issue simili
-
bug module:nodes tests
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
rocketride-org/rocketride-server#3020 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
bretterer/home-assistant-rivian#335 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
mampfes/hacs_waste_collection_schedule#8114 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
TIGER-AI-Lab/ClawBench#475 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
UKGovernmentBEIS/inspect_ai#6322 ·
I maintainer di solito rispondono entro 1 giorno