From 457c157ed5e0e2007b3d665d8b3da58b638427d2 Mon Sep 17 00:00:00 2001 From: yuin Date: Sat, 11 Sep 2021 12:25:17 +0900 Subject: [PATCH] Fix #245 - 8 --- _test/extra.txt | 22 ++++++++++++++++++++++ parser/link_ref.go | 10 ++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/_test/extra.txt b/_test/extra.txt index e3b5b43..6018f15 100644 --- a/_test/extra.txt +++ b/_test/extra.txt @@ -425,3 +425,25 @@ x

x *

//= = = = = = = = = = = = = = = = = = = = = = = =// + +30: A link reference definition followed by a single quote without closer +//- - - - - - - - -// +[x] + +[x]: <> +' +//- - - - - - - - -// +

x

+

'

+//= = = = = = = = = = = = = = = = = = = = = = = =// + +31: A link reference definition followed by a double quote without closer +//- - - - - - - - -// +[x] + +[x]: <> +" +//- - - - - - - - -// +

x

+

"

+//= = = = = = = = = = = = = = = = = = = = = = = =// diff --git a/parser/link_ref.go b/parser/link_ref.go index 3fa1ecf..f7f61bb 100644 --- a/parser/link_ref.go +++ b/parser/link_ref.go @@ -126,7 +126,7 @@ func parseLinkReferenceDefinition(block text.Reader, pc Context) (int, int) { for { line, segment = block.PeekLine() if line == nil { - return -1, -1 + break } if open < 0 { open = segment.Start @@ -139,8 +139,14 @@ func parseLinkReferenceDefinition(block text.Reader, pc Context) (int, int) { } block.AdvanceLine() } + if closes < 0 { - return -1, -1 + if !isNewLine { + return -1, -1 + } + ref := NewReference(label, destination, nil) + pc.AddReference(ref) + return startLine, endLine } line, segment = block.PeekLine()