diff --git a/ChangeLog b/ChangeLog index 3ea3490517..1a65b88408 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Dec 3 22:54:39 2008 Nobuyoshi Nakada + + * parse.y (expr): keyword_not can continue across newline. + [ruby-core:20252] + Wed Dec 3 22:40:59 2008 Nobuyoshi Nakada * iseq.c (simple_default_value): returns simplest assignment only. diff --git a/parse.y b/parse.y index 44000df50a..63f5e3c929 100644 --- a/parse.y +++ b/parse.y @@ -1174,12 +1174,12 @@ expr : command_call $$ = dispatch3(binary, $1, ripper_intern("or"), $3); %*/ } - | keyword_not expr + | keyword_not opt_nl expr { /*%%%*/ - $$ = call_uni_op(cond($2), '!'); + $$ = call_uni_op(cond($3), '!'); /*% - $$ = dispatch2(unary, ripper_intern("not"), $2); + $$ = dispatch2(unary, ripper_intern("not"), $3); %*/ } | '!' command_call