Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

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

未關閉
#458 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

@TanbirRamim 已經在處理了。

開始於 2026年9月25日。

  • #459 來自 @TanbirRamim —— 未關閉

評估

難度
3/5
預估耗時
1-2 天
新手友好度
68/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
java
領域
tooling

研究方向

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.

由索引模型根據 Issue 內容生成。

描述

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.

主要語言
Java
星號
2.7k
分支
336
PR 合併指標
30 天內沒有已合併 PR

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

commonmark/commonmark-java 的其他 Issue

查看 commonmark/commonmark-java 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。