Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Second code span not recognised after an unclosed backtick string and another code span

Offen
#458 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

@TanbirRamim arbeitet bereits daran.

Seit 25.9.2026.

  • #459 von @TanbirRamim — offen

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
68/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
java
Bereich
tooling

Rechercherichtung

Start with the Java Parser and HtmlRenderer example in the issue and reproduce the three input strings against current main. Add regression coverage for the unclosed double-backtick input alongside the neighbouring code spans, and verify that the rendered HTML matches the expected output.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Steps to reproduce the problem (provide example Markdown if applicable):

`` `a` `c`

The same through the API, with two neighbouring inputs that render correctly, to show the trigger:

import org.commonmark.parser.Parser;
import org.commonmark.renderer.html.HtmlRenderer;

public class Main {
    public static void main(String[] args) {
        Parser parser = Parser.builder().build();
        HtmlRenderer renderer = HtmlRenderer.builder().build();
        for (String md : new String[] {"`` `a` `c`", "`` `a`", "`a` `c`"}) {
            System.out.print(md + "  ->  " + renderer.render(parser.parse(md)));
        }
    }
}

Expected behavior:

<p>`` <code>a</code> <code>c</code></p>

This is what the reference implementation, commonmark.js 0.31.2, gives for all three inputs: the `` has no
closing double backtick and stays literal, and both `a` and `c` are code spans (spec 0.31.2, Code spans).

Actual behavior:

<p>`` <code>a</code> `c`</p>

The full output of the program above:

`` `a` `c`  ->  <p>`` <code>a</code> `c`</p>
`` `a`  ->  <p>`` <code>a</code></p>
`a` `c`  ->  <p><code>a</code> <code>c</code></p>

The second code span, `c`, is left as text. It takes all three parts: with only the unclosed `` and one
code span, or with the two code spans and no unclosed string, the output is correct. Text between the parts changes
nothing, and every further code span of the same length stays text too: `a` `c` `e` after the unclosed string
gives <code>a</code> `c` `e`.

Tested on commonmark 0.30.0 from Maven Central and on current main (b89e72f).

BTW, this was found by an automated program that writes property-based tests for various open source projects using hegel (but it has been reviewed by hand before reporting). We've also potentially found (but not yet hand validated) 51 other bugs in commonmark-java. You can see the tests at https://github.com/hegeldev/hegel-zoo/tree/main/targets/java/commonmark-java. Let us know if you would like us to file the other bugs found and/or contribute the tests. NB the tests are currently LLM generated and probably not yet suitable for inclusion as is, but we're happy to help get them into a better state if you want them.

Vorherrschende Sprache
Java
Sterne
2.7k
Forks
336
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus commonmark/commonmark-java

Alle Issues in commonmark/commonmark-java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.