C14.9 r1: tables keep extra cells and quote marks; preview refuses edits; lists only in list items; replace moves past its text (library edc328a)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
d4a7d3ebd7
commit
2aa4a080bb
9 files changed
+120
-23
No files matched your search
@@ -0,0 +1,13 @@
|
||||
FAIL
|
||||
|
||||
- `reference/Ely-GPUI-Components/src/documents/document/tables.rs:83`(ce4a1e9):列位置取自原始行的全部单元格,但随后网格被裁成表头宽度,合法 GFM 表格的多余单元格会让列操作越界 panic。复现:源码为 `| A | B |\n| - | - |\n| 1 | 2 | 3 |\n`,插入点放在 `3` 上,执行删除列,报 `removal index (is 2) should be < len (is 2)`。应在修改前核对插入点对应的有效列,对不可操作的位置明确拒绝,并覆盖超出表头宽度的行。失败探针:`probe_extra_table_cell_does_not_crash`,见 `.work/C14.9-r1/probes-confirm.log`。
|
||||
|
||||
- `reference/Ely-GPUI-Components/src/documents/document/tables.rs:90`(ce4a1e9):嵌套表格统一用无容器前缀的文本重写,破坏外层引用结构。复现:对 `> | A | B |\n> | - | - |\n> | 1 | 2 |\n` 的数据行执行下方插入行,结果只有首行保留 `> `,分隔行与数据行全部脱离引用,原表格不再按原结构解析,违反 §14.3 的内容保留要求。应保留引用或列表容器的逐行前缀;无法保留的结构须明确拒绝并提示用源码编辑。失败探针:`probe_nested_table_stays_quoted`,见 `.work/C14.9-r1/probes-confirm.log`。
|
||||
|
||||
- `apps/ely-mark/src/tools.rs:30`:表格动作不检查模式,直接修改只读预览中的文档。复现:打开 `Intro\n`,切到预览,执行“表格›插入表格”,仍停在预览模式,正文却已加入整个表格,违反 MARK-02 的只读预览要求。应在实际修改入口落实模式限制,覆盖表格及替换等修改动作;不能在保持只读预览状态时写入正文。失败探针:`probe_preview_table_is_read_only`,见 `.work/C14.9-r1/probes-confirm.log`。
|
||||
|
||||
- `apps/ely-mark/src/finding.rs:147`:逐次替换后沿用旧匹配序号,不能可靠地选中下一处。复现:源码 `a a\n`,查找 `a`,选中第一处并替换为 `aa`;结果为 `aa a\n`,选区仍为 `0..1`,而不是下一原匹配的 `3..4`,反复替换会不断扩张第一处。另外,替换 `a b a\n` 的最后一处为 `x` 后,当前项变成 `None`,没有按导航的循环规则转到第一处。应依据替换后的字节位置重新寻找下一处并处理回绕,补实际选区与连续替换回归。失败探针:`probe_replace_matching_text_advances`、`probe_replace_last_wraps`,见 `.work/C14.9-r1/probes-confirm.log`。
|
||||
|
||||
- `reference/Ely-GPUI-Components/src/documents/document/finding.rs:28`(ce4a1e9):可视模式在解析尚未跟上文本时直接丢弃显示匹配的请求。应用在替换后立即调用它,此时编辑器的 Changed 回调尚未完成解析,正常的短文档也会命中此分支。复现:可视模式查找 `a b a\n` 的第一处 `a`,替换为 `x`;计数更新了,但下一处没有打开或选中,键入 `z` 后正文仍为 `x b a\n`,而不是 `x b z\n`。应将匹配显示请求保留到对应文本解析完成再落实。失败探针 `probe_visual_replacement_selects_next`;对照探针在解析后再次调用 `show_match` 即通过,见 `.work/C14.9-r1/probes-confirm.log`。
|
||||
|
||||
- `reference/Ely-GPUI-Components/src/documents/document/lists.rs:125`(ce4a1e9;块内同见 159):列表续写只检查当前行的字符,不检查 Markdown 语法上下文,代码块中的普通代码也被当作列表。复现:源码为一个 text 围栏,内容为 `- a`;在该行末回车,实际插入 `\n- `,而正常回车应只换行。代码内容因此被额外改写,违反 MARK-06 与 §14.3;可视模式打开代码块后也走同一判定。应仅对实际列表项续写,排除围栏代码等原文区域,并覆盖源码与打开块两条输入路径。失败探针:`probe_code_is_not_a_list`,见 `.work/C14.9-r1/probes-confirm.log`。
|
||||
Reference in new issue
Block a user