tdf124710, unexpected result for function IFS when argument NA() is followed by an argument that needs interpreting

Winfried Donkers winfried.libreoffice at
Wed Apr 17 14:49:55 UTC 2019

> The actual root cause here is that IFS() and SWITCH() are not compiled
> into jumps so only the needed result would be calculated, but instead
> all arguments are calculated beforehand as in usual function calls. We
> had that discussion some while ago (and there exists some bug about it),
> but I didn't get around to a different implementation. (right now I only
> remember I had some idea for it to use existing means to compile an
> IFS() call into some kind of nested or chained ocIf or ocChoose or some
> such, would have to dig it out of my mail archive).
> [...]
> Not treating IFS() and SWITCH() as jumps of course code paths are
> unnecessarily executed and has other unwanted side effects (like there
> were cases where someone used STYLE() within but not the actual final
> result), so the best fix would actually be to change that.
Yes, I remember. I tried but did not succeed. I may try again this time.


More information about the LibreOffice mailing list