From 046883d2ca8c1b2074b261947ea708e6695f667e Mon Sep 17 00:00:00 2001 From: naruse Date: Fri, 25 May 2012 01:36:52 +0000 Subject: [PATCH] merge revision(s) 35644: * parse.y (f_arglist): should reset lexical states after empty argument list with no parenthesis as well as parenthesized list, so that reserved name method definition work. [ruby-dev:45626] [Bug #6403] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@35781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ parse.y | 2 ++ test/ruby/test_syntax.rb | 5 +++++ version.h | 6 +++--- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2164159e77..7734335dac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri May 25 10:36:38 2012 Nobuyoshi Nakada + + * parse.y (f_arglist): should reset lexical states after empty + argument list with no parenthesis as well as parenthesized list, + so that reserved name method definition work. [ruby-dev:45626] + [Bug #6403] + Mon May 21 16:24:40 2012 Akinori MUSHA * ext/syslog/syslog.c (mSyslog_inspect): Use rb_sprintf(). diff --git a/parse.y b/parse.y index 757bfb2495..d36156fc05 100644 --- a/parse.y +++ b/parse.y @@ -4374,6 +4374,8 @@ f_arglist : '(' f_args rparen | f_args term { $$ = $1; + lex_state = EXPR_BEG; + command_start = TRUE; } ; diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index bd60c8ad61..dcfdb09d80 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -52,6 +52,11 @@ class TestSyntax < Test::Unit::TestCase f.close! end + def test_reserved_method_no_args + bug6403 = '[ruby-dev:45626]' + assert_valid_syntax("def self; :foo; end", __FILE__, bug6403) + end + private def make_tmpsrc(f, src) diff --git a/version.h b/version.h index 486f715ead..747a11b4ed 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "1.9.3" -#define RUBY_PATCHLEVEL 226 +#define RUBY_PATCHLEVEL 227 -#define RUBY_RELEASE_DATE "2012-05-21" +#define RUBY_RELEASE_DATE "2012-05-25" #define RUBY_RELEASE_YEAR 2012 #define RUBY_RELEASE_MONTH 5 -#define RUBY_RELEASE_DAY 21 +#define RUBY_RELEASE_DAY 25 #include "ruby/version.h"