Mercurial > hg > dmlib
changeset 671:e5e56d16597e
And another fix to parsing.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 16 Apr 2013 11:34:23 +0300 |
parents | 0d37fe455b86 |
children | 75e9af630e18 |
files | dmeval.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/dmeval.c Tue Apr 16 11:30:52 2013 +0300 +++ b/dmeval.c Tue Apr 16 11:34:23 2013 +0300 @@ -438,7 +438,10 @@ else if (*c == '(') dm_set_mode(ev, func != NULL ? PARSE_ARGS : PARSE_SUBEXPR); - else if (strchr("+-*/<>%&|!^", *c)) + else if (*c == '-') + dm_set_mode(ev, ev->prev == PARSE_START ? PARSE_OPER2 : PARSE_OPER); + + else if (strchr("+*/<>%&|!^", *c)) dm_set_mode(ev, PARSE_OPER); else if (isdigit(*c) || *c == '.')