Modified: MacRuby/branches/icu/re.cpp (3720 => 3721)
--- MacRuby/branches/icu/re.cpp 2010-03-10 01:29:16 UTC (rev 3720)
+++ MacRuby/branches/icu/re.cpp 2010-03-10 01:46:19 UTC (rev 3721)
@@ -1371,10 +1371,14 @@
rb_scan_args(argc, argv, "11", &backref, &rest);
if (NIL_P(rest)) {
- const int pos = match_backref_number(rcv, backref, false);
- return rb_reg_nth_match(pos, rcv);
+ switch (TYPE(backref)) {
+ case T_STRING:
+ case T_SYMBOL:
+ case T_FIXNUM:
+ const int pos = match_backref_number(rcv, backref, false);
+ return rb_reg_nth_match(pos, rcv);
+ }
}
-
return rb_ary_aref(match_to_a(rcv, 0), 0, argc, argv);
}