math: Print special error for logical operators

Until now, something like

`math '7 = 2'`

would complain about a "missing" operator.

Now we print an error about logical operators not being supported and
point the user towards `test`.

Fixes #6096
This commit is contained in:
Fabian Homborg
2019-11-01 08:40:56 +01:00
parent 067b30208d
commit c0d8439f3a
4 changed files with 18 additions and 1 deletions

View File

@@ -306,6 +306,15 @@ void next_token(state *s) {
case '\n':
case '\r':
break;
case '=':
case '>':
case '<':
case '&':
case '|':
case '!':
s->type = TOK_ERROR;
s->error = TE_ERROR_LOGICAL_OPERATOR;
break;
default:
s->type = TOK_ERROR;
s->error = TE_ERROR_MISSING_OPERATOR;