String#gsub with block: don't check for receiver mutable state
--- MacRuby/trunk/string.c 2010-07-10 02:27:03 UTC (rev 4343)
+++ MacRuby/trunk/string.c 2010-07-13 21:17:06 UTC (rev 4344)
@@ -3879,7 +3879,9 @@
results[0].end - results[0].beg));
val = rb_obj_as_string(val);
}
- rstr_frozen_check(str);
+ if (bang) {
+ rstr_frozen_check(str);
+ }
if (block_given) {
rb_backref_set(match);
RETURN_IF_BROKEN();