--- gforth/prim 2009/01/29 19:51:28 1.239 +++ gforth/prim 2009/05/12 16:54:58 1.242 @@ -2150,6 +2150,7 @@ int flag; int decpt; sig=ecvt(r, u, &decpt, &flag); n=(r==0. ? 1 : decpt); +flag=signbit(r); /* not all ecvt()s do this as desired */ f1=FLAG(flag!=0); f2=FLAG(isdigit((unsigned)(sig[0]))!=0); siglen=strlen((char *)sig);