RFR: 8321500: javadoc rejects '@' in multi-line attribute value
Jonathan Gibbons
jjg at openjdk.org
Wed Oct 16 15:12:13 UTC 2024
On Tue, 15 Oct 2024 10:41:43 GMT, Hannes Wallnöfer <hannesw at openjdk.org> wrote:
> Please review the removal of code in `DocCommentParser` that created an error when encountering a spurious "@" character in an HTML attribute value after a line break.
>
> The removed code (which was added in its current form in 2012) seemed to assume that such a "@" character was part of a block tag and therefore an indication of an unclosed attribute value. However, both line breaks and "@" are valid characters in HTML attributes. Note that valid content for HTML attributes in `DocCommentParser` is [text and entities as per HTML5][html5-attributes] as well as JavaDoc inline tags, but not block tags.
>
> [html5-attributes]: https://html.spec.whatwg.org/multipage/syntax.html#syntax-attribute-value
>
> The change adds two doctree tests, one to make sure HTML attributes with mixed values (text, line breaks, entities, inline tags, "@") are parsed correctly, and a second one to make sure actual unclosed attribute values are still recognized as errors.
For sure the change will have almost no negative impact, because you will simply permitting a previously effectively invalid sequence of characters. You could reasonably say the bug was not going "all-in" on HTML parsing in the original implementation of `DocCommentParser`. Maybe it would be enough to do a Release Note.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21520#issuecomment-2417117945
More information about the compiler-dev
mailing list