Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Annotated code cell is dropped when the next annotated cell comes before any list

オープン 初心者向け
#15,215 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
76/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
lua
領域
backend

調査の方向性

src/resources/filters/quarto-pre/code-annotation.luaを読み、特にpendingCodeCellを設定する実行可能セルの分岐と、隣接する分岐にある既存のflushPending()呼び出しを確認してください。Issueにある2つの注釈付きRセルと順序付きリストで再現し、両方のセルとその出力がレンダリングされ、注記が2つ目のセルの注釈にリンクすることを確認してください。報告者はテストスイート全体を実行していません。

索引モデルが issue の本文から書いたものです。

説明

bug code-annotation

Bug description

When two executable code cells with annotations follow each other and no ordered list sits between them, the first cell is dropped from the output.
Its code, its annotation markers and its output are all missing.
Only the second cell, with the list that follows it, is rendered.

I found this while working on Typst code annotations in #14170.
It happens on main for HTML, so it is not specific to Typst.

Steps to reproduce

---
title: Two annotated cells in a row
format: html
code-annotations: true
---

```{r}
first_cell <- 1 # <1>
first_cell
```

```{r}
second_cell <- 2 # <1>
second_cell
```

1. A note.

Actual behavior

The page shows only the second cell.
first_cell does not appear anywhere in the HTML.

Expected behavior

Both cells are rendered.
The note links to the annotation of the second cell, which is the one it sits under.

main (first cell missing) main with the one-line fix below
The rendered page on main: only the second cell, second_cell, with its annotation circle, the note and the output 2. The rendered page with the fix: both cells, first_cell with its output 1, then second_cell with its annotation circle, the note and the output 2.

Cause

In src/resources/filters/quarto-pre/code-annotation.lua, the branch that handles executable cells keeps an annotated cell in pendingCodeCell until the ordered list arrives.
When another annotated cell comes first, the new cell overwrites pendingCodeCell and the first one is never emitted.
The other branches, such as the one for plain code blocks, call flushPending() before they output a block.

A possible fix is to call flushPending() at the top of the if found then branch.
With that line, both cells are rendered, as in the right-hand screenshot.
I have not run the whole test suite with it.

Your environment

  • OS: macOS
  • Quarto: dev build, run with the src/resources of main at 210691f01 (set with QUARTO_SHARE_PATH), so the Lua filters are those of main.
  • R 4.6.1 with knitr 1.51.

Quarto check output

quarto check
Quarto 99.9.9
[✓] Checking environment information...
      Quarto cache location: /Users/mcanouil/Library/Caches/quarto
      Project: none found (single-file mode)
[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.10.0: OK
      Dart Sass version 1.101.0: OK
      Deno version 2.7.14: OK
      Typst version 0.15.1: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
      Version: 99.9.9
[✓] Checking tools....................OK
      TinyTeX: v2026.07
      Chrome Headless Shell: (not installed)
      VeraPDF: (not installed)
[✓] Checking LaTeX....................OK
[✓] Checking Chrome Headless....................OK
[✓] Checking basic markdown render....OK
[✓] Checking R installation...........OK
      Version: 4.6.1
      knitr: 1.51
      rmarkdown: 2.31
[✓] Checking Knitr engine render......OK
[✓] Checking Python 3 installation....OK
      Version: 3.9.6
      Jupyter: (None)
[✓] Checking Julia installation...
主要言語
JavaScript
スター
6.1k
フォーク
476
平均マージ
17時間 16分
マージ済み PR(30日)
112

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

quarto-dev/quarto-cli のほかの issue

quarto-dev/quarto-cli の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。