From b16697982eff27ef45d8c82b5e086cefd8716597 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sat, 19 Apr 2014 18:46:07 +0900 Subject: Allow parenthesed do-block in cmdarg Flush cmdarg flags inside left-paren in a command argument, to allow parenthesed `do-block` as an argument without arguments parentheses. `CMDARG_PUSH(0)` for tLPAREN_ARG is before `CMDARG_PUSH(1)` in `command_args` due to look-ahead. --- test/t/syntax.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/t/syntax.rb') diff --git a/test/t/syntax.rb b/test/t/syntax.rb index fac73aa7b..d761b1991 100644 --- a/test/t/syntax.rb +++ b/test/t/syntax.rb @@ -254,3 +254,14 @@ assert('External command execution.') do end true end + +assert('parenthesed do-block in cmdarg') do + class ParenDoBlockCmdArg + def test(block) + block.call + end + end + x = ParenDoBlockCmdArg.new + result = x.test (proc do :ok; end) + assert_equal :ok, result +end -- cgit v1.2.3