From f7510976a3f369231c646fa6bd7e6018b3b1bba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vytautas=20=C5=A0altenis?= Date: Tue, 13 Oct 2015 19:57:07 +0300 Subject: [PATCH] Fix escaping asterisks within emphasis First check for escaped character, *then* look if i-th character is an emphasis character. Closes #18. --- inline.go | 7 +++---- inline_test.go | 3 +++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/inline.go b/inline.go index 3f39b52..567740c 100644 --- a/inline.go +++ b/inline.go @@ -919,15 +919,14 @@ func helperFindEmphChar(data []byte, c byte) int { if i >= len(data) { return 0 } - if data[i] == c { - return i - } - // do not count escaped chars if i != 0 && data[i-1] == '\\' { i++ continue } + if data[i] == c { + return i + } if data[i] == '`' { // skip a code span diff --git a/inline_test.go b/inline_test.go index 3821d49..280b461 100644 --- a/inline_test.go +++ b/inline_test.go @@ -153,6 +153,9 @@ func TestEmphasis(t *testing.T) { "mix of *markers_\n", "

mix of *markers_

\n", + + "*What is A\\* algorithm?*\n", + "

What is A* algorithm?

\n", } doTestsInline(t, tests) }