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

ruby-changes:7178

From: akr <ko1@a...>
Date: Tue, 19 Aug 2008 00:57:14 +0900 (JST)
Subject: [ruby-changes:7178] Ruby:r18697 (trunk): * re.c (rb_reg_inspect): don't raise for uninitialized Regexp.

akr	2008-08-19 00:56:38 +0900 (Tue, 19 Aug 2008)

  New Revision: 18697

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

  Log:
    * re.c (rb_reg_inspect): don't raise for uninitialized Regexp.

  Modified files:
    trunk/ChangeLog
    trunk/re.c
    trunk/test/ruby/test_regexp.rb

Index: re.c
===================================================================
--- re.c	(revision 18696)
+++ re.c	(revision 18697)
@@ -435,7 +435,9 @@
 static VALUE
 rb_reg_inspect(VALUE re)
 {
-    rb_reg_check(re);
+    if (!RREGEXP(re)->ptr || !RREGEXP_SRC(re) || !RREGEXP_SRC_PTR(re)) {
+        return rb_any_to_s(re);
+    }
     return rb_reg_desc(RREGEXP_SRC_PTR(re), RREGEXP_SRC_LEN(re), re);
 }
 
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18696)
+++ ChangeLog	(revision 18697)
@@ -1,3 +1,7 @@
+Tue Aug 19 00:56:01 2008  Tanaka Akira  <akr@f...>
+
+	* re.c (rb_reg_inspect): don't raise for uninitialized Regexp.
+
 Tue Aug 19 00:34:24 2008  Tanaka Akira  <akr@f...>
 
 	* io.c (rb_io_check_readable): side effect for STDIN removed.
Index: test/ruby/test_regexp.rb
===================================================================
--- test/ruby/test_regexp.rb	(revision 18696)
+++ test/ruby/test_regexp.rb	(revision 18697)
@@ -686,7 +686,7 @@
     assert_nil(~Regexp.allocate)
     assert_raise(TypeError) { Regexp.allocate.match("") }
     assert_raise(TypeError) { Regexp.allocate.to_s }
-    assert_raise(TypeError) { Regexp.allocate.inspect }
+    assert_match(/^#<Regexp:.*>$/, Regexp.allocate.inspect)
     assert_raise(TypeError) { Regexp.allocate.source }
     assert_raise(TypeError) { Regexp.allocate.casefold? }
     assert_raise(TypeError) { Regexp.allocate.options }

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

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