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

ruby-changes:21275

From: naruse <ko1@a...>
Date: Sun, 25 Sep 2011 03:45:28 +0900 (JST)
Subject: [ruby-changes:21275] naruse:r33324 (trunk): * enum.c (slice_before_i): use rb_attr_get to surpress wrong warning

naruse	2011-09-25 03:43:32 +0900 (Sun, 25 Sep 2011)

  New Revision: 33324

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

  Log:
    * enum.c (slice_before_i): use rb_attr_get to surpress wrong warning
      for internal instance variable slicebefore_initial_state.

  Modified files:
    trunk/ChangeLog
    trunk/enum.c
    trunk/test/ruby/test_enum.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 33323)
+++ ChangeLog	(revision 33324)
@@ -1,3 +1,8 @@
+Sun Sep 25 03:43:03 2011  NARUSE, Yui  <naruse@r...>
+
+	* enum.c (slice_before_i): use rb_attr_get to surpress wrong warning
+	  for internal instance variable slicebefore_initial_state.
+
 Fri Sep 23 14:20:14 2011  Martin Bosslet  <Martin.Bosslet@g...>
 
 	* ext/openssl/ossl_asn1.c: remove unused variable.
Index: enum.c
===================================================================
--- enum.c	(revision 33323)
+++ enum.c	(revision 33324)
@@ -2469,7 +2469,7 @@
     enumerable = rb_ivar_get(enumerator, rb_intern("slicebefore_enumerable"));
     arg.sep_pred = rb_attr_get(enumerator, rb_intern("slicebefore_sep_pred"));
     arg.sep_pat = NIL_P(arg.sep_pred) ? rb_ivar_get(enumerator, rb_intern("slicebefore_sep_pat")) : Qnil;
-    arg.state = rb_ivar_get(enumerator, rb_intern("slicebefore_initial_state"));
+    arg.state = rb_attr_get(enumerator, rb_intern("slicebefore_initial_state"));
     arg.prev_elts = Qnil;
     arg.yielder = yielder;
 
Index: test/ruby/test_enum.rb
===================================================================
--- test/ruby/test_enum.rb	(revision 33323)
+++ test/ruby/test_enum.rb	(revision 33324)
@@ -1,5 +1,6 @@
 require 'test/unit'
 require 'continuation'
+require 'stringio'
 
 class TestEnumerable < Test::Unit::TestCase
   def setup
@@ -22,6 +23,20 @@
     $VERBOSE = @verbose
   end
 
+  def assert_not_warn
+    begin
+      org_stderr = $stderr
+      v = $VERBOSE
+      $stderr = StringIO.new(warn = '')
+      $VERBOSE = true
+      yield
+    ensure
+      $stderr = org_stderr
+      $VERBOSE = v
+    end
+    assert_equal("", warn)
+  end
+
   def test_grep
     assert_equal([1, 2, 1, 2], @obj.grep(1..2))
     a = []
@@ -383,6 +398,7 @@
     ss = %w[abc defg h ijk l mno pqr st u vw xy z]
     assert_equal([%w[abc defg h], %w[ijk l], %w[mno], %w[pqr st u vw xy z]],
                  ss.slice_before(/\A...\z/).to_a)
+    assert_not_warn{ss.slice_before(/\A...\z/).to_a}
   end
 
 end

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

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