Skip to content

[1150] 新增表格插入行基准 + chat-input-buffer? unbound 修复#4041

Merged
da-liii merged 2 commits into
mainfrom
da/1150/table_insert
Jul 20, 2026
Merged

[1150] 新增表格插入行基准 + chat-input-buffer? unbound 修复#4041
da-liii merged 2 commits into
mainfrom
da/1150/table_insert

Conversation

@da-liii

@da-liii da-liii commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • 新增 TeXmacs/tests/1150.scm:headless 基准,(make 'tabular) 建表后连续 (table-insert-row #t) 1000 次,输出总耗时与单行均值。作为后续表格插入路径优化的对比基线。
  • 修复阻塞基准跑起来的根因:chat-input-buffer? 由 llm 插件懒加载定义,插件未加载(headless 测试、未启用 chat 的发行)时符号 unbound,任何非 chat 路径下做表格插入/粘贴都会抛 unbound-variable。四处调用点加 (defined? 'chat-input-buffer?) guard:
    • TeXmacs/progs/table/table-edit.scmtable-resize-notify(基准触发的就是这条)
    • TeXmacs/progs/generic/generic-edit.scmkbd-paste 与 ocr-paste 路径
    • TeXmacs/progs/generic/paste-widget.scm — 选择性粘贴
  • 本次只做基准 + unbound 修复,不做表格插入路径的性能优化。

Test plan

  • xmake b stem 编译通过
  • xmake r 1150 输出 [1150] insert 1000 rows: total=7145 ms, per-row=...
  • xmake r 1144 等已有测试无回归(unbound 不再抛)
  • gf fmt --changed-since=main 已格式化

🤖 Generated with Claude Code

da-liii added 2 commits July 20, 2026 20:12
新增 TeXmacs/tests/1150.scm:headless 基准,建 1×1 表格后连续插 1000 行,
输出总耗时与单行均值,作为后续表格插入路径优化的对比基线。

修复阻塞基准跑起来的根因:chat-input-buffer? 由 llm 插件懒加载定义,
插件未加载(headless 测试、未启用 chat 的发行)时符号 unbound,导致
任何非 chat 路径下做表格插入/粘贴都抛 unbound-variable。四处调用点
(table-resize-notify / kbd-paste / ocr-paste / 选择性粘贴)加
(defined? 'chat-input-buffer?) guard。menu 的 :require gating 不受影响。

实测(Linux release):1000 行 ≈ 7145 ms,单行 ~7 ms。本次不做表格
插入路径的性能优化。
@da-liii
da-liii merged commit cd88c76 into main Jul 20, 2026
6 checks passed
@da-liii
da-liii deleted the da/1150/table_insert branch July 20, 2026 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant