Files
ElyOffice/tasks/reviews/R8.2-r2.md
T
ZacharyZhang-NYandClaude 2ca53ef585 R8.2: Word EQ fields open as formulas; inline objects follow their run
Gitea #9. Patch 0049 moves inline pictures and OLE objects with
their run's w:position. Patches 0050 and 0051 turn EQ fields into
Math objects; unreadable fields show their code. Round 3 findings
(lowercase \s\do tail, split subscripts, \ai/\di, italics through
OMML) fixed and covered by word.rs; no fourth review.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-18 21:39:17 -04:00

2.5 KiB

FAIL

  • patches/libreoffice/0050-writer-eq-field-parser.patch:327 — [P1] An incomplete final array row silently loses operands. Reproduced with EQ \a\co2(a,b,c): the generated StarMath has unequal row lengths, the actual MathML contains only a and b, and saving DOCX writes only those two operands into OMML. The annotation still contains c, so checking annotation text alone misses the loss. Pad the final row or reject the conversion visibly; test actual rendered/exported formula content. Evidence: .work/r82-r2/edge-probe.log, array_three.

  • patches/libreoffice/0050-writer-eq-field-parser.patch:340 — [P1] The parser consumes custom operator switches but silently substitutes an integral. Reproduced with EQ \i\fc\∑(1,5,x): the resulting formula is int from{"1"} to{"5"} {"x"}, and its MathML operator is ∫. The specified summation operator has changed mathematical meaning. Honor the supplied symbol or fail parsing so the original field code remains visible; cover both \fc and \vc. These switches specify the operator character in ECMA-376 Part 4 §14.10.4.6. Evidence: .work/r82-r2/edge-probe.log, operator_sigma.

  • patches/libreoffice/0050-writer-eq-field-parser.patch:141 — [P1] Unrecognized bracket characters silently become invisible delimiters. Reproduced with EQ \b\lc\⌊\rc\⌋(x): import succeeds as left none {"x"} right none; the actual MathML contains only x, losing the floor operation. The character options are defined by ECMA-376 Part 4 §14.10.4.6. Preserve the delimiters or report the command unreadable instead of replacing them with none, and add a regression. Evidence: .work/r82-r2/edge-probe.log, floor.

  • patches/libreoffice/0050-writer-eq-field-parser.patch:194 — [P2] General field switches are imported as visible equation text. Reproduced with EQ \f(a,b) \* MERGEFORMAT: the fraction acquires the literal suffix * MERGEFORMAT in both StarMath and MathML; \* CHARFORMAT behaves likewise. Microsoft documents these as formatting switches, with MERGEFORMAT added by default by the field dialog. Parse general switches separately from equation content and add regressions asserting they do not appear in the formula result. Evidence: .work/r82-r2/probe.log, mergeformat and charformat.