> On 14 May 2020, at 22:22, Jonathan Gibbons <[email protected]> 
> wrote:
> 
> On 5/14/20 1:12 PM, Pavel Rappo wrote:
>>> On 14 May 2020, at 20:46, Jonathan Gibbons <[email protected]>
>>>  wrote:
>>> 
>>> OK, but I'm still wondering why it is better to use a block tag for 
>>> `@summary` compared to an inline tag
>>> 
>> Nested markup.
>> 
>> 
> If I'm understanding what you mean correctly, the problems with nested markup 
> are the same for both inline and block tags.

Let me explain what I mean in detail to avoid further misunderstanding. When I 
described that idea of making {@summary} a bimodal tag I thought that there was 
a significant difference between inline tags and block tags. Namely, that block 
tags *could* have nested markup (HTML and Standard Doclet tags), whereas inline 
tags couldn't. I guess, I formed that impression by eyeballing myriads of doc 
comments over the years, rather than carefully reading relevant parts of 
"Documentation Comment Specification for the Standard Doclet". So I thought 
that, for example, the below snippet was impossible by design

    /**
     * {@summary Returns {@code true} if this module has <em>opened</em> a 
package to at
     * least the given module.}

whereas this was

    /** 
     * @summary Returns {@code true} if this module has <em>opened</em> a 
package to at
     * least the given module.

I thought that an author of a doc comment had to choose between reliable 
parsing and having their markup. However, that comment of yours

> the problems with nested markup are the same for both inline and block tags

made me re-read the relevant parts of the specification and realize that this 
is not the case. It is a de facto behavior, rather than a de jure standard.

Earlier in this thread, Roger said:

> IMHO the first sentence should be short and to the point and not include 
> markup or
extra explainatory phrases (such as e.g.).

Yet, people do use markup in the first sentences. OpenJDK uses markup in the 
first sentences. `java.base` has hundreds [^1] of occurrences of it. I 
personally find that judicious use of *light* markup can assist in reading the 
resulting output. So this all stems from me trying to find a way to achieve 
that while preserving the benefits of the inline version of {@summary}.

-Pavel

[^1]: According to my quick and dirty regex-based search "/\*\*\s*\*.+<\w+>.*$"


Reply via email to