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

--- Comment #3 from Paul den Hollander <[email protected]> ---
I am trying to achieve full compatibility compatibility between my own tool
that evaluates formulas and LibreOffice Calc, so I'm trying to understand what
happens. 

So after looking at the LibreOffice Calc source code, this is how I think it
behaves:
Example: =IF(NA();"a";ISERROR(NA()))
ScInterpreter::ScIfJump looks at the condition, which sets
ScInterpreter::nGlobalError to the error, but continues execution with a 0
value in place of the error.
Execution of ScInterpreter::ScIsError then resets ScInterpreter::nGlobalError
to FormulaError::NONE.
After the formula has been evaluated, ScInterpreter::GetCellValue checks
ScInterpreter::nGlobalError, which would normally be set to the error, but now
has already been reset, so it just uses the execution result.

Is this correct?

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

Reply via email to