# HG changeset patch # User Matti Hamalainen # Date 1366101263 -10800 # Node ID e5e56d16597e089d10994e44e0cfbcfd44662472 # Parent 0d37fe455b86ce6a91fdf9a10fadee51f7f58f08 And another fix to parsing. diff -r 0d37fe455b86 -r e5e56d16597e dmeval.c --- 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 == '.')