mpick: better error for missing ) over multiple lines

pull/174/head
Duncaen 5 years ago committed by Leah Neukirchen
parent 4baa330b63
commit d5afda072b

@ -381,11 +381,9 @@ static struct expr *
parse_inner() parse_inner()
{ {
if (token("prune")) { if (token("prune")) {
struct expr *e = mkexpr(EXPR_PRUNE); return mkexpr(EXPR_PRUNE);
return e;
} else if (token("print")) { } else if (token("print")) {
struct expr *e = mkexpr(EXPR_PRINT); return mkexpr(EXPR_PRINT);
return e;
} else if (token("skip")) { } else if (token("skip")) {
struct expr *e = mkexpr(EXPR_PRINT); struct expr *e = mkexpr(EXPR_PRINT);
struct expr *not = mkexpr(EXPR_NOT); struct expr *not = mkexpr(EXPR_NOT);
@ -396,11 +394,14 @@ parse_inner()
struct expr *not = mkexpr(EXPR_NOT); struct expr *not = mkexpr(EXPR_NOT);
not->a.expr = e; not->a.expr = e;
return not; return not;
} else if (token("(")) { }
if (peek("(")) {
struct pos savepos = { pos, line, linenr };
(void) token("(");
struct expr *e = parse_cond(); struct expr *e = parse_cond();
if (token(")")) if (token(")"))
return e; return e;
parse_error("missing ) at '%.15s'", pos); parse_error_at(&savepos, "unterminated (");
return 0; return 0;
} else { } else {
parse_error("unknown expression at '%.15s'", pos); parse_error("unknown expression at '%.15s'", pos);

Loading…
Cancel
Save