https://bugs.documentfoundation.org/show_bug.cgi?id=170788

--- Comment #7 from [email protected] ---
I did some more digging.

GS export: of:=...; let(avg; ... IF(avg>=...)) (has no namespace, no scoped
variable markers) → LO flags as error.

LO export (working example): of:=...; COM.MICROSOFT.LET(_xlpm.avg; ...
IF(_xlpm.avg>=...))

Therefore LO does not identify LET via capitalization; it identifies it via the
COM.MICROSOFT namespace and _xlpm. variable prefixing.

GS’s ODS export omits those markers, so LO can’t interpret the formula as LET
under OpenFormula compilation.

BTW, I have also exported GS to .xlsx with the same result, LO shows "#NAME?"
when opening the .xlsx file.  

Proposed behavior (import-only, no spec violation)

When importing ODS formulas:

1. If parser encounters let( in of:= context
2. And function name resolves to no OpenFormula function
3. But Calc has a known implementation of LET
4. Then rewrite internally to:  COM.MICROSOFT.LET(...) and apply _xlpm. scoping
to bound identifiers

The ambiguity concern (“how do we know it’s not some other function named
let?”) does not apply:

* let( is a function call token
* LET is a known Excel-compatible function implemented by Calc
* No OpenFormula function named let exists

This is a deterministic, low-risk import mapping.  And it would be a real
improvement to interoperability.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to