diff options
-rw-r--r-- | changelog.txt | 8 | ||||
-rw-r--r-- | spec.txt | 16 |
2 files changed, 17 insertions, 7 deletions
diff --git a/changelog.txt b/changelog.txt index 6881c13..0c91a30 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,7 +2,10 @@ * Allow unlimited balanced pairs of parentheses in link URLs (@kivikakk, jgm/cmark#166). The rationale is that there are many URLs - containing unescaped nested parentheses. + containing unescaped nested parentheses. Note that + implementations are allowed to impose limits on parentheses + nesting for performance reasons, but at least three levels + of nesting should be supported. * Change Rule 14 for Emphasis. Previously the nesting Strong (Emph (...)) was preferred over Emph (Strong (...)). This change makes Emph (Strong (...)) preferred. @@ -18,6 +21,9 @@ This change simplifies parsing. It goes against the majority of implementations, but only on something utterly trivial. + * Clarify definition of delimiter runs (Aidan Woods, #485). + * Clarify precedence of thematic breaks over list items + in the list spec, not just the thematic break spec (Aidan Woods). * Acknowledge Aaron Swartz's role in developing Markdown. * Remove misleading backslash in example for disabling image markup (Matthias Geier). @@ -7204,7 +7204,9 @@ A [link destination](@) consists of either - a nonempty sequence of characters that does not include ASCII space or control characters, and includes parentheses only if (a) they are backslash-escaped or (b) they are part of - a balanced pair of unescaped parentheses. + a balanced pair of unescaped parentheses. (Implementations + may impose limits on parentheses nesting to avoid performance + issues, but at least three levels of nesting should be supported.) A [link title](@) consists of either @@ -7310,7 +7312,7 @@ Parentheses inside the link destination may be escaped: <p><a href="(foo)">link</a></p> ```````````````````````````````` -Any number parentheses are allowed without escaping, as long as they are +Any number of parentheses are allowed without escaping, as long as they are balanced: ```````````````````````````````` example @@ -7616,13 +7618,15 @@ that [matches] a [link reference definition] elsewhere in the document. A [link label](@) begins with a left bracket (`[`) and ends with the first right bracket (`]`) that is not backslash-escaped. Between these brackets there must be at least one [non-whitespace character]. -Unescaped square bracket characters are not allowed in -[link labels]. A link label can have at most 999 -characters inside the square brackets. +Unescaped square bracket characters are not allowed inside the +opening and closing square brackets of [link labels]. A link +label can have at most 999 characters inside the square +brackets. One label [matches](@) another just in case their normalized forms are equal. To normalize a -label, perform the *Unicode case fold*, strip leading and trailing +label, strip off the opening and closing brackets, +perform the *Unicode case fold*, strip leading and trailing [whitespace] and collapse consecutive internal [whitespace] to a single space. If there are multiple matching reference link definitions, the one that comes first in the |