@@ -6422,15 +6422,17 @@ parser_yylex(parser_state *p)
|
6422 | 6422 | nvars = nvars->cdr; |
6423 | 6423 | } |
6424 | 6424 | nvar = intn(p->nvars->car); |
6425 | | -if (nvar == -1) { |
6426 | | -yywarning(p, "numbered parameter used in inner block"); |
6427 | | - } |
6428 | | -else { |
6429 | | - p->nvars->car = nint(nvar > n ? nvar : n); |
| 6425 | +if (nvar != -2) { /* numbered parameters never appear on toplevel */ |
| 6426 | +if (nvar == -1) { |
| 6427 | +yywarning(p, "numbered parameter used in inner block"); |
| 6428 | + } |
| 6429 | +else { |
| 6430 | + p->nvars->car = nint(nvar > n ? nvar : n); |
| 6431 | + } |
| 6432 | + pylval.num = n; |
| 6433 | + p->lstate = EXPR_END; |
| 6434 | +return tNUMPARAM; |
6430 | 6435 | } |
6431 | | - pylval.num = n; |
6432 | | - p->lstate = EXPR_END; |
6433 | | -return tNUMPARAM; |
6434 | 6436 | } |
6435 | 6437 | } |
6436 | 6438 | /* fall through */ |
|