--- gforth/prim 2009/01/29 19:51:28 1.239 +++ gforth/prim 2009/04/20 19:11:11 1.240 @@ -2150,6 +2150,10 @@ int flag; int decpt; sig=ecvt(r, u, &decpt, &flag); n=(r==0. ? 1 : decpt); +#ifdef DARWIN +// workaround Mac OS X bug in ecvt +flag=signbit(r); +#endif f1=FLAG(flag!=0); f2=FLAG(isdigit((unsigned)(sig[0]))!=0); siglen=strlen((char *)sig);