From: Fletcher T. Penney Date: Tue, 17 Jul 2018 14:55:41 +0000 (-0400) Subject: FIXED: Fix issue with dollar math delimiters inside code (fixes #134) X-Git-Tag: 6.4.0^2~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=13458b37e7456641b4a3b565dd94a3f9c43cc97d;p=multimarkdown FIXED: Fix issue with dollar math delimiters inside code (fixes #134) --- diff --git a/Sources/libMultiMarkdown/html.c b/Sources/libMultiMarkdown/html.c index c1e6a28..e639d39 100644 --- a/Sources/libMultiMarkdown/html.c +++ b/Sources/libMultiMarkdown/html.c @@ -2144,21 +2144,11 @@ void mmd_export_token_html_raw(DString * out, const char * source, token * t, sc break; case MATH_DOLLAR_SINGLE: - if (t->mate) { - (t->start < t->mate->start) ? ( print_const("\\(") ) : ( print_const("\\)") ); - } else { - print_const("$"); - } - + print_const("$"); break; case MATH_DOLLAR_DOUBLE: - if (t->mate) { - (t->start < t->mate->start) ? ( print_const("\\[") ) : ( print_const("\\]") ); - } else { - print_const("$$"); - } - + print_const("$$"); break; case MATH_PAREN_OPEN: @@ -2227,6 +2217,24 @@ void mmd_export_token_html_math(DString * out, const char * source, token * t, s print_const("\\]"); break; + case MATH_DOLLAR_SINGLE: + if (t->mate) { + (t->start < t->mate->start) ? ( print_const("\\(") ) : ( print_const("\\)") ); + } else { + print_const("$"); + } + + break; + + case MATH_DOLLAR_DOUBLE: + if (t->mate) { + (t->start < t->mate->start) ? ( print_const("\\[") ) : ( print_const("\\]") ); + } else { + print_const("$$"); + } + + break; + case MATH_PAREN_OPEN: print_const("\\("); break; diff --git a/tests/MMD6Tests/Math.fodt b/tests/MMD6Tests/Math.fodt index 43dd04d..6b3f745 100644 --- a/tests/MMD6Tests/Math.fodt +++ b/tests/MMD6Tests/Math.fodt @@ -339,6 +339,14 @@ office:mimetype="application/vnd.oasis.opendocument.text"> 25 \[\pi~2\] + +$a*x*y$ + +$$a*x*y$$ + +\\(a*x*y\\) + +\\[a*x*y\\] diff --git a/tests/MMD6Tests/Math.html b/tests/MMD6Tests/Math.html index 2405da2..a80ad6b 100644 --- a/tests/MMD6Tests/Math.html +++ b/tests/MMD6Tests/Math.html @@ -68,6 +68,14 @@

\[\pi~2\]

+

$a*x*y$

+ +

$$a*x*y$$

+ +

\\(a*x*y\\)

+ +

\\[a*x*y\\]

+ diff --git a/tests/MMD6Tests/Math.htmlc b/tests/MMD6Tests/Math.htmlc index d54b7d5..349f163 100644 --- a/tests/MMD6Tests/Math.htmlc +++ b/tests/MMD6Tests/Math.htmlc @@ -62,3 +62,11 @@ latex config: article

25

\[\pi~2\]

+ +

$a*x*y$

+ +

$$a*x*y$$

+ +

\\(a*x*y\\)

+ +

\\[a*x*y\\]

diff --git a/tests/MMD6Tests/Math.tex b/tests/MMD6Tests/Math.tex index 12c830c..99d4d0b 100644 --- a/tests/MMD6Tests/Math.tex +++ b/tests/MMD6Tests/Math.tex @@ -64,5 +64,13 @@ $a *foo* b$ \[\pi~2\] +\texttt{\$a*x*y\$} + +\texttt{\$\$a*x*y\$\$} + +\texttt{\textbackslash{}\textbackslash{}(a*x*y\textbackslash{}\textbackslash{})} + +\texttt{\textbackslash{}\textbackslash{}[a*x*y\textbackslash{}\textbackslash{}]} + \input{mmd6-article-footer} \end{document} diff --git a/tests/MMD6Tests/Math.text b/tests/MMD6Tests/Math.text index 8327524..d96162b 100644 --- a/tests/MMD6Tests/Math.text +++ b/tests/MMD6Tests/Math.text @@ -62,3 +62,11 @@ $a *foo* b$ 25 \\[\pi~2\\] + +`$a*x*y$` + +`$$a*x*y$$` + +`\\(a*x*y\\)` + +`\\[a*x*y\\]`