summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-07-18 07:05:12 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-07-18 07:05:12 +0000
commitbbaf9b28000d7e11d74c85a8312de856bef7ab21 (patch)
tree801c1327d580316caa086f17b719370dbead1b29 /parse.y
parente9a91d2c95dfe22ad0487952f7a1053ef9a5fd16 (diff)
* 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
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y9
1 files changed, 8 insertions, 1 deletions
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);