Hi Winfried, On Sunday, 2012-12-09 15:07:46 +0100, Winfried Donkers wrote:
> >Could it be that you didn't implement the special handling in the > compiler and tokens? ... > > I did an opengrok search for ocIf and changed all files, including sxfunc.src > (to give iferror 3 parameters). > The only differences that I know of between IF() and IFERROR() are the > function names and the group to which the functions belong. > > When in the switch statement in ScIfError()/ScIfJump() (in > /core/sc/source/core/tool/interpr1.cxx) > default: > { > if ( GetBool() ) <<-- here > { // TRUE > if( nJumpCount >= 2 ) > > I replace GetBool() with getDouble() and look at its value, it is 3 in case > of IFERROR() and 0 in case of IF(). > (in calc I entered IFERROR(0;2;3), result 2 and IF(0;2;3), result 3). I did not quite get what you are actually doing there.. if the functions are otherwise treated identically then IFERROR should return 3 as well. Could you please upload the patch to gerrit, mark it as work in progress by preceding the commit summary with WIP: Thanks Eike -- LibreOffice Calc developer. Number formatter stricken i18n transpositionizer. GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3 9E96 2F1A D073 293C 05FD Support the FSFE, care about Free Software! https://fsfe.org/support/?erack
pgp0iXXXa5vLu.pgp
Description: PGP signature
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice