--- freem/src/operator.c 2025/05/05 23:02:39 1.10 +++ freem/src/operator.c 2025/05/05 23:09:19 1.11 @@ -1,5 +1,5 @@ /* - * $Id: operator.c,v 1.10 2025/05/05 23:02:39 snw Exp $ + * $Id: operator.c,v 1.11 2025/05/05 23:09:19 snw Exp $ * operators pattern-match, divide, multiply, add, power * * @@ -24,6 +24,9 @@ * along with FreeM. If not, see . * * $Log: operator.c,v $ + * Revision 1.11 2025/05/05 23:09:19 snw + * Revert errors in E notation parsing + * * Revision 1.10 2025/05/05 23:02:39 snw * More fixes around E notation * @@ -1983,8 +1986,9 @@ int numlit (char *str) } continue; } - if (expflg) { + if (expflg) { if (ch == MINUS) { + /* TODO: revisit this; it breaks string coercion if (str[i + 1] == '-') { merr_raise (INVEXPR); return (0); @@ -1993,10 +1997,12 @@ int numlit (char *str) merr_raise (INVEXPR); return (0); } + */ expflg = (-expflg); continue; } if (ch == PLUS) { + /* TODO: revisit this; it breaks string coercion if (str[i + 1] == '+') { merr_raise (INVEXPR); return (0); @@ -2005,6 +2011,7 @@ int numlit (char *str) merr_raise (INVEXPR); return (0); } + */ continue; } }