[ 
https://issues.apache.org/jira/browse/GROOVY-12095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Sun updated GROOVY-12095:
--------------------------------
    Description: 
Let's take a look at javadoc of {{groovy.concurrent.AsyncScope}} first:
{code:java}
/**
 *
 * <pre>{@code
 * def results = AsyncScope.withScope { scope ->
 *     def userTask  = scope.async { fetchUser(id) }
 *     def orderTask = scope.async { fetchOrders(id) }
 *     return [user: await(userTask), orders: await(orderTask)]
 * }
 * // Both tasks guaranteed complete here
 * }</pre> 
 *
 */
{code}
As we can see, groovydoc generates {{</CODE>}} at the wrong place shown as 
follows:
{code:html}
 <pre class="language-groovy"><code><CODE>def results = AsyncScope.withScope { 
scope -&gt;
     def userTask  = scope.async { fetchUser(id) </CODE>
     def orderTask = scope.async { fetchOrders(id) }
     return [user: await(userTask), orders: await(orderTask)]
 }
 // Both tasks guaranteed complete here
 }</code></pre>
{code}
 
Also, {{<code>...</code>}} and {{<CODE>...</CODE>}} are redundant too.

Here is the result rendered in chrome:

!image-2026-06-22-00-29-39-966.png!

  was:
Let's take a look at javadoc of {{groovy.concurrent.AsyncScope}} first:
{code:java}
/**
 *
 * <pre>{@code
 * def results = AsyncScope.withScope { scope ->
 *     def userTask  = scope.async { fetchUser(id) }
 *     def orderTask = scope.async { fetchOrders(id) }
 *     return [user: await(userTask), orders: await(orderTask)]
 * }
 * // Both tasks guaranteed complete here
 * }</pre> 
 *
 */
{code}
As we can see, groovydoc generates {{</CODE>}} at the wrong place shown as 
follows:
{code:html}
 <pre class="language-groovy"><code><CODE>def results = AsyncScope.withScope { 
scope -&gt;
     def userTask  = scope.async { fetchUser(id) </CODE>
     def orderTask = scope.async { fetchOrders(id) }
     return [user: await(userTask), orders: await(orderTask)]
 }
 // Both tasks guaranteed complete here
 }</code></pre>
{code}
 
Also, {{<code>...</code>}} and {{<CODE>...</CODE>}} are redundant too.

Here is the generated result:

!image-2026-06-22-00-29-39-966.png!


> Code in groovydoc does not display correctly
> --------------------------------------------
>
>                 Key: GROOVY-12095
>                 URL: https://issues.apache.org/jira/browse/GROOVY-12095
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-groovydoc
>    Affects Versions: 6.0.0-alpha-1
>            Reporter: Daniel Sun
>            Priority: Major
>         Attachments: image-2026-06-22-00-29-39-966.png
>
>
> Let's take a look at javadoc of {{groovy.concurrent.AsyncScope}} first:
> {code:java}
> /**
>  *
>  * <pre>{@code
>  * def results = AsyncScope.withScope { scope ->
>  *     def userTask  = scope.async { fetchUser(id) }
>  *     def orderTask = scope.async { fetchOrders(id) }
>  *     return [user: await(userTask), orders: await(orderTask)]
>  * }
>  * // Both tasks guaranteed complete here
>  * }</pre> 
>  *
>  */
> {code}
> As we can see, groovydoc generates {{</CODE>}} at the wrong place shown as 
> follows:
> {code:html}
>  <pre class="language-groovy"><code><CODE>def results = AsyncScope.withScope 
> { scope -&gt;
>      def userTask  = scope.async { fetchUser(id) </CODE>
>      def orderTask = scope.async { fetchOrders(id) }
>      return [user: await(userTask), orders: await(orderTask)]
>  }
>  // Both tasks guaranteed complete here
>  }</code></pre>
> {code}
>  
> Also, {{<code>...</code>}} and {{<CODE>...</CODE>}} are redundant too.
> Here is the result rendered in chrome:
> !image-2026-06-22-00-29-39-966.png!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to