diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-04-30 15:21:01 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-04-30 15:21:01 +0900 |
| commit | 2fe556d9c039839c20965a2c90dff703f04e40ec (patch) | |
| tree | 8c6411acd81a830a825268ffa9c0968fab4e8266 | |
| parent | b09f1712af2598957df7aa4281c5161f666a4af3 (diff) | |
| download | mruby-2fe556d9c039839c20965a2c90dff703f04e40ec.tar.gz mruby-2fe556d9c039839c20965a2c90dff703f04e40ec.zip | |
push cmdarg_stack in lambda body; fix [ruby-bug#11107]
| -rw-r--r-- | src/parse.y | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/parse.y b/src/parse.y index ca2a52861..eb78f47d4 100644 --- a/src/parse.y +++ b/src/parse.y @@ -2150,11 +2150,16 @@ primary : literal p->lpar_beg = ++p->paren_nest; } f_larglist + { + $<stack>$ = p->cmdarg_stack; + p->cmdarg_stack = 0; + } lambda_body { p->lpar_beg = $<num>2; - $$ = new_lambda(p, $3, $4); + $$ = new_lambda(p, $3, $5); local_unnest(p); + p->cmdarg_stack = $<stack>4; } | keyword_if expr_value then compstmt |
