[macruby-changes] [3733] MacRuby/branches/icu/string.c

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 10 20:13:57 PST 2010


Revision: 3733
          http://trac.macosforge.org/projects/ruby/changeset/3733
Author:   lsansonetti at apple.com
Date:     2010-03-10 20:13:56 -0800 (Wed, 10 Mar 2010)
Log Message:
-----------
fixed a few bugs

Modified Paths:
--------------
    MacRuby/branches/icu/string.c

Modified: MacRuby/branches/icu/string.c
===================================================================
--- MacRuby/branches/icu/string.c	2010-03-10 22:09:16 UTC (rev 3732)
+++ MacRuby/branches/icu/string.c	2010-03-11 04:13:56 UTC (rev 3733)
@@ -2647,6 +2647,7 @@
 	}
 
 	if (block_given) {
+	    rb_match_busy(match);
 	    rb_yield(scan_result);
 	    rb_backref_set(match);
 	    RETURN_IF_BROKEN();
@@ -3294,7 +3295,8 @@
 
 	if (block_given || !NIL_P(hash)) {
             if (block_given) {
-                repl = rb_obj_as_string(rb_yield(rb_reg_nth_match(0, match)));
+		rb_match_busy(match);
+		repl = rb_obj_as_string(rb_yield(rb_reg_nth_match(0, match)));
             }
             else {
                 repl = rb_hash_aref(hash, rstr_substr(str, results[0].beg,
@@ -3304,6 +3306,7 @@
 	    rstr_frozen_check(str);
 	    if (block_given) {
 		rb_backref_set(match);
+		RETURN_IF_BROKEN();
 	    }
 	}
 	else {
@@ -3429,7 +3432,8 @@
 	VALUE val;
 	if (block_given || !NIL_P(hash)) {
             if (block_given) {
-                val = rb_obj_as_string(rb_yield(rb_reg_nth_match(0, match)));
+		rb_match_busy(match);
+		val = rb_obj_as_string(rb_yield(rb_reg_nth_match(0, match)));
             }
             else {
                 val = rb_hash_aref(hash, rstr_substr(str, results[0].beg,
@@ -3439,6 +3443,7 @@
 	    rstr_frozen_check(str);
 	    if (block_given) {
 		rb_backref_set(match);
+		RETURN_IF_BROKEN();
 	    }
 	}
 	else {
@@ -3460,6 +3465,8 @@
 	if (results[0].beg == offset) {
 	    offset++;
 	}
+
+	rb_backref_set(match);
     }
 
     if (bang) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100310/9658e696/attachment-0001.html>


More information about the macruby-changes mailing list