ruby-changes:22599
From: nobu <ko1@a...>
Date: Fri, 17 Feb 2012 07:35:37 +0900 (JST)
Subject: [ruby-changes:22599] nobu:r34648 (trunk): * enum.c (id_lshift): use constant ID.
nobu 2012-02-17 07:33:31 +0900 (Fri, 17 Feb 2012) New Revision: 34648 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34648 Log: * enum.c (id_lshift): use constant ID. Modified files: trunk/ChangeLog trunk/enum.c Index: ChangeLog =================================================================== --- ChangeLog (revision 34647) +++ ChangeLog (revision 34648) @@ -1,3 +1,7 @@ +Fri Feb 17 07:33:29 2012 Nobuyoshi Nakada <nobu@r...> + + * enum.c (id_lshift): use constant ID. + Fri Feb 17 07:30:53 2012 Tanaka Akira <akr@f...> * ext/dbm/extconf.rb: refactored to split too long conditions. Index: enum.c =================================================================== --- enum.c (revision 34647) +++ enum.c (revision 34648) @@ -19,6 +19,7 @@ #define id_each idEach #define id_eqq idEqq #define id_cmp idCmp +#define id_lshift idLTLT static VALUE enum_values_pack(int argc, VALUE *argv) @@ -2249,14 +2250,14 @@ if (v == alone) { if (!NIL_P(argp->prev_value)) { - rb_funcall(argp->yielder, rb_intern("<<"), 1, rb_assoc_new(argp->prev_value, argp->prev_elts)); + rb_funcall(argp->yielder, id_lshift, 1, rb_assoc_new(argp->prev_value, argp->prev_elts)); argp->prev_value = argp->prev_elts = Qnil; } - rb_funcall(argp->yielder, rb_intern("<<"), 1, rb_assoc_new(v, rb_ary_new3(1, i))); + rb_funcall(argp->yielder, id_lshift, 1, rb_assoc_new(v, rb_ary_new3(1, i))); } else if (NIL_P(v) || v == separator) { if (!NIL_P(argp->prev_value)) { - rb_funcall(argp->yielder, rb_intern("<<"), 1, rb_assoc_new(argp->prev_value, argp->prev_elts)); + rb_funcall(argp->yielder, id_lshift, 1, rb_assoc_new(argp->prev_value, argp->prev_elts)); argp->prev_value = argp->prev_elts = Qnil; } } @@ -2273,7 +2274,7 @@ rb_ary_push(argp->prev_elts, i); } else { - rb_funcall(argp->yielder, rb_intern("<<"), 1, rb_assoc_new(argp->prev_value, argp->prev_elts)); + rb_funcall(argp->yielder, id_lshift, 1, rb_assoc_new(argp->prev_value, argp->prev_elts)); argp->prev_value = v; argp->prev_elts = rb_ary_new3(1, i); } @@ -2300,7 +2301,7 @@ rb_block_call(enumerable, id_each, 0, 0, chunk_ii, (VALUE)&arg); if (!NIL_P(arg.prev_elts)) - rb_funcall(arg.yielder, rb_intern("<<"), 1, rb_assoc_new(arg.prev_value, arg.prev_elts)); + rb_funcall(arg.yielder, id_lshift, 1, rb_assoc_new(arg.prev_value, arg.prev_elts)); return Qnil; } @@ -2444,7 +2445,7 @@ header_p = rb_funcall(argp->sep_pred, rb_intern("call"), 2, i, argp->state); if (RTEST(header_p)) { if (!NIL_P(argp->prev_elts)) - rb_funcall(argp->yielder, rb_intern("<<"), 1, argp->prev_elts); + rb_funcall(argp->yielder, id_lshift, 1, argp->prev_elts); argp->prev_elts = rb_ary_new3(1, i); } else { @@ -2475,7 +2476,7 @@ rb_block_call(enumerable, id_each, 0, 0, slicebefore_ii, (VALUE)&arg); if (!NIL_P(arg.prev_elts)) - rb_funcall(arg.yielder, rb_intern("<<"), 1, arg.prev_elts); + rb_funcall(arg.yielder, id_lshift, 1, arg.prev_elts); return Qnil; } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/