fix(markup): parse \(...\) inline math next to letters and digits (#39773)

Fixes https://github.com/go-gitea/gitea/issues/39770

`\(x^2\)is` and `\(x^2\)123` rendered as plain text because `\(...\)`
went through the same check on surrounding characters as `$...$`. That
check is there to skip things like `US$1`, which can't happen with
explicit `\(` `\)` delimiters, so it's now skipped for them, the same as
for "$`...`$". `$x$a` still isn't parsed.
This commit is contained in:
Yunus Ozen authored and GitHub committed 2026-10-14 12:11:13 -07:00
1 parent c6069f8d9f
commit 41ccfce3e9
2 files changed
+5

No files matched your search

@@ -91,6 +91,7 @@ func (parser *inlineParser) Parse(parent ast.Node, block text.Reader, pc parser.
} else {
startMarkLen = 2
stopMark = parser.endBytesParentheses
checkSurrounding = false // explicit delimiters like "$`...`$", adjacent text is unambiguous
}
if line[0] == '$' && !parser.enableInlineDollar && (len(line) == 1 || line[1] != '`') {