mirror of
https://github.com/storytold/gridcraft.git
synced 2026-10-25 03:06:53 -06:00
The file format has no `@` operator, but formulas with an explicit implicit intersection were written with a literal `@` (`<f>@A1:A3*2</f>`). Excel writes `@x` as `_xlfn.SINGLE(x)`, which only dynamic-array formulas carry. The writer now does the same and marks such formulas cm="1"; the parser reads `SINGLE(x)` back as `@x`, as it already does for `ANCHORARRAY` and `#`. Two cases in the #83 metadata test expected a redundant `@` (`SQRT(@A1:A3)`, `@A1:A3*2`) to be written as an ordinary formula. Dropping the `@` there is only lossless if the reader puts it back on legacy formulas, which it doesn't yet (the read side of #64), so they now expect cm. generated with Claude Code