From bbaf9b28000d7e11d74c85a8312de856bef7ab21 Mon Sep 17 00:00:00 2001 From: shugo Date: Wed, 18 Jul 2012 07:05:12 +0000 Subject: * parse.y (primary): allow an empty grouped expression as the operand of the not operator (e.g., not ()). [ruby-core:45976] [Bug #6674] * parse.y (parser_yylex): show no warning for a grouped expression as the operand of the not operator (e.g., not (a)) or as an argument of a method call without parentheses (e.g., foo (a)). [ruby-core:39050] [Bug #5214] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 0853d1e790..91d732f446 100644 --- a/parse.y +++ b/parse.y @@ -2710,6 +2710,14 @@ primary : literal $$ = dispatch1(begin, $3); %*/ } + | tLPAREN_ARG {lex_state = EXPR_ENDARG;} rparen + { + /*%%%*/ + $$ = 0; + /*% + $$ = dispatch1(paren, 0); + %*/ + } | tLPAREN_ARG expr {lex_state = EXPR_ENDARG;} rparen { /*%%%*/ @@ -7671,7 +7679,6 @@ parser_yylex(struct parser_params *parser) } else if (IS_SPCARG(-1)) { c = tLPAREN_ARG; - rb_warning0("(...) interpreted as grouped expression"); } paren_nest++; COND_PUSH(0); -- cgit v1.2.3