[前][次][番号順一覧][スレッド一覧]

ruby-changes:14184

From: yugui <ko1@a...>
Date: Sat, 5 Dec 2009 11:37:23 +0900 (JST)
Subject: [ruby-changes:14184] Ruby:r26003 (ruby_1_9_1): merges r25209 from trunk into ruby_1_9_1.

yugui	2009-12-05 11:36:58 +0900 (Sat, 05 Dec 2009)

  New Revision: 26003

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26003

  Log:
    merges r25209 from trunk into ruby_1_9_1.
    --
    * parse.y (bv_decls, bvar): fix for block variables.
      [ruby-dev:39423]

  Modified files:
    branches/ruby_1_9_1/ChangeLog
    branches/ruby_1_9_1/parse.y
    branches/ruby_1_9_1/test/ripper/test_parser_events.rb
    branches/ruby_1_9_1/version.h

Index: ruby_1_9_1/ChangeLog
===================================================================
--- ruby_1_9_1/ChangeLog	(revision 26002)
+++ ruby_1_9_1/ChangeLog	(revision 26003)
@@ -1,3 +1,8 @@
+Sat Oct  3 22:14:18 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* parse.y (bv_decls, bvar): fix for block variables.
+	  [ruby-dev:39423]
+
 Sat Oct  3 00:47:52 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* test/ripper/dummyparser.rb (DummyParser): improvement by Magnus
Index: ruby_1_9_1/parse.y
===================================================================
--- ruby_1_9_1/parse.y	(revision 26002)
+++ ruby_1_9_1/parse.y	(revision 26003)
@@ -3441,7 +3441,7 @@
 		    /*%c%*/
 		    /*%c
 		    {
-			$$ = rb_ary_new2($1);
+			$$ = rb_ary_new3(1, $1);
 		    }
 		    %*/
 		| bv_decls ',' bvar
@@ -3455,10 +3455,10 @@
 
 bvar		: tIDENTIFIER
 		    {
-			new_bv($1);
+			new_bv(get_id($1));
 		    /*%%%*/
 		    /*%
-			$$ = $1;
+			$$ = get_value($1);
 		    %*/
 		    }
 		| f_bad_arg
Index: ruby_1_9_1/version.h
===================================================================
--- ruby_1_9_1/version.h	(revision 26002)
+++ ruby_1_9_1/version.h	(revision 26003)
@@ -1,5 +1,5 @@
 #define RUBY_VERSION "1.9.1"
-#define RUBY_PATCHLEVEL 359
+#define RUBY_PATCHLEVEL 360
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 9
 #define RUBY_VERSION_TEENY 1
Index: ruby_1_9_1/test/ripper/test_parser_events.rb
===================================================================
--- ruby_1_9_1/test/ripper/test_parser_events.rb	(revision 26002)
+++ ruby_1_9_1/test/ripper/test_parser_events.rb	(revision 26003)
@@ -1,6 +1,7 @@
 begin
 
 require_relative 'dummyparser'
+require_relative '../ruby/envutil'
 require 'test/unit'
 
 class TestRipper_ParserEvents < Test::Unit::TestCase
@@ -566,6 +567,15 @@
     assert_equal("[fcall(p,[],&block([w],[#{div}]))]", parse("p{|w|w /25 # /\n}"), bug1939)
     assert_equal("[def(p,[w],bodystmt([#{div}]))]", parse("def p(w)\nw /25 # /\nend"), bug1939)
   end
+
+  def test_block_variables
+    assert_equal("[fcall(proc,[],&block([],[void()]))]", parse("proc{|;y|}"))
+    if defined?(Process::RLIMIT_AS)
+      assert_in_out_err(["-I#{File.dirname(__FILE__)}", "-rdummyparser"],
+                        'Process.setrlimit(Process::RLIMIT_AS,102400); puts DummyParser.new("proc{|;y|}").parse',
+                        ["[fcall(proc,[],&block([],[void()]))]"], [], '[ruby-dev:39423]')
+    end
+  end
 end
 
 rescue LoadError

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]