diff --git a/parse.y b/parse.y index 26763e9a00..14b5e9e3e9 100644 --- a/parse.y +++ b/parse.y @@ -2487,7 +2487,7 @@ primary : literal | tLPAREN_ARG {SET_LEX_STATE(EXPR_ENDARG);} rparen { /*%%%*/ - $$ = 0; + $$ = NEW_BEGIN(0); /*% $$ = dispatch1(paren, 0); %*/ diff --git a/test/ruby/test_defined.rb b/test/ruby/test_defined.rb index de7ba9cc14..54f461ff03 100644 --- a/test/ruby/test_defined.rb +++ b/test/ruby/test_defined.rb @@ -99,6 +99,10 @@ class TestDefined < Test::Unit::TestCase end end + def test_defined_empty_paren_arg + assert_nil(defined?(p () + 1)) + end + def test_defined_impl_specific feature7035 = '[ruby-core:47558]' # not spec assert_predicate(defined?(Foo), :frozen?, feature7035)