--- ray/src/common/calexpr.c 2019/03/04 18:16:18 2.37 +++ ray/src/common/calexpr.c 2019/12/28 18:05:13 2.39 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: calexpr.c,v 2.37 2019/03/04 18:16:18 greg Exp $"; +static const char RCSid[] = "$Id: calexpr.c,v 2.39 2019/12/28 18:05:13 greg Exp $"; #endif /* * Compute data values using expression parser @@ -19,8 +19,6 @@ static const char RCSid[] = "$Id: calexpr.c,v 2.37 201 #include "copyright.h" -#include -#include #include #include #include @@ -105,10 +103,13 @@ eval( /* evaluate an expression string */ char *expr ) { + int prev_support = esupport; EPNODE *ep; double rval; + esupport &= ~E_RCONST; /* don't bother reducing constant expr */ ep = eparse(expr); + esupport = prev_support; /* as you were */ rval = evalue(ep); epfree(ep); return(rval);