ruby-changes:2192
From: ko1@a...
Date: 12 Oct 2007 23:35:36 +0900
Subject: [ruby-changes:2192] matz - Ruby:r13683 (trunk): * re.c (match_values_at): make #select to be alias to #values_at
matz 2007-10-12 23:35:26 +0900 (Fri, 12 Oct 2007)
New Revision: 13683
Modified files:
trunk/ChangeLog
trunk/re.c
Log:
* re.c (match_values_at): make #select to be alias to #values_at
to adapt RDoc description. [ruby-core:12588]
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13683&r2=13682
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/re.c?r1=13683&r2=13682
Index: re.c
===================================================================
--- re.c (revision 13682)
+++ re.c (revision 13683)
@@ -1339,8 +1339,8 @@
/*
* call-seq:
- if (!OBJ_TAINTED(obj) && rb_safe_level() >= 4)
- rb_raise(rb_eSecurityError, "Insecure: can't modify regexp");
+ *
+ * mtch.values_at([index]*) => array
* mtch.select([index]*) => array
*
* Uses each <i>index</i> to access the matching values, returning an array of
@@ -1348,7 +1348,7 @@
*
* m = /(.)(.)(\d+)(\d)/.match("THX1138: The Movie")
* m.to_a #=> ["HX1138", "H", "X", "113", "8"]
- * m.select(0, 2, -2) #=> ["HX1138", "X", "113"]
+ * m.values_at(0, 2, -2) #=> ["HX1138", "X", "113"]
*/
static VALUE
@@ -1360,43 +1360,6 @@
/*
* call-seq:
- * mtch.select([index]*) => array
- *
- * Uses each <i>index</i> to access the matching values, returning an
- * array of the corresponding matches.
- *
- * m = /(.)(.)(\d+)(\d)/.match("THX1138: The Movie")
- * m.to_a #=> ["HX1138", "H", "X", "113", "8"]
- * m.select(0, 2, -2) #=> ["HX1138", "X", "113"]
- */
-
-static VALUE
-match_select(int argc, VALUE *argv, VALUE match)
-{
- if (argc > 0) {
- rb_raise(rb_eArgError, "wrong number of arguments (%d for 0)", argc);
- }
- else {
- struct re_registers *regs = RMATCH(match)->regs;
- VALUE target = RMATCH(match)->str;
- VALUE result = rb_ary_new();
- int i;
- int taint = OBJ_TAINTED(match);
-
- for (i=0; i<regs->num_regs; i++) {
- VALUE str = rb_str_subseq(target, regs->beg[i], regs->end[i]-regs->beg[i]);
- if (taint) OBJ_TAINT(str);
- if (RTEST(rb_yield(str))) {
- rb_ary_push(result, str);
- }
- }
- return result;
- }
-}
-
-
-/*
- * call-seq:
* mtch.to_s => str
*
* Returns the entire matched string.
@@ -2453,8 +2416,8 @@
rb_define_method(rb_cMatch, "to_a", match_to_a, 0);
rb_define_method(rb_cMatch, "[]", match_aref, -1);
rb_define_method(rb_cMatch, "captures", match_captures, 0);
- rb_define_method(rb_cMatch, "select", match_select, -1);
rb_define_method(rb_cMatch, "values_at", match_values_at, -1);
+ rb_define_method(rb_cMatch, "select", match_values_at, -1);
rb_define_method(rb_cMatch, "pre_match", rb_reg_match_pre, 0);
rb_define_method(rb_cMatch, "post_match", rb_reg_match_post, 0);
rb_define_method(rb_cMatch, "to_s", match_to_s, 0);
Index: ChangeLog
===================================================================
--- ChangeLog (revision 13682)
+++ ChangeLog (revision 13683)
@@ -14,6 +14,11 @@
* array.c (rb_ary_product): accessing out of memory bounds.
condition fixed.
+Fri Oct 12 11:22:15 2007 Yukihiro Matsumoto <matz@r...>
+
+ * re.c (match_values_at): make #select to be alias to #values_at
+ to adapt RDoc description. [ruby-core:12588]
+
Thu Oct 11 21:10:17 2007 Yukihiro Matsumoto <matz@r...>
* include/ruby/node.h (NOEX_LOCAL): remove unused local visibility.
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml