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

Attachment: pgp0iXXXa5vLu.pgp
Description: PGP signature

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to