From 11f6a02cd597790689aafa438dc6881c6062d05b Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 19 Aug 2009 16:36:00 +0000 Subject: * enumerator.c: implement Enumerator#{next_values,peek_values,feed} and StopIteration#result. [ruby-dev:39109] (struct enumerator): replace no_next by stop_exc. new field feedvalue. (enumerator_mark): mark feedvalue and stop_exc. (enumerator_init): initialize feedvalue and stop_exc. (enumerator_init_copy): initialize feedvalue. (next_ii): send yield arguments as an array. return feedvalue. (next_i): generate StopIteration exception here. set result. (next_init): initialize feedvalue. (enumerator_next_values): new method Enumerator#next_values. (ary2sv): new function. (enumerator_peek_values): new method Enumerator#peek_values. (enumerator_feed): new method Enumerator#feed. (yielder_yield): return the yield value. (generator_each): return the iterator value. (stop_result): new method StopIteration#result. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 55f0dcb42..3e463bc45 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +Thu Aug 20 01:28:42 2009 Tanaka Akira + + * enumerator.c: implement Enumerator#{next_values,peek_values,feed} + and StopIteration#result. [ruby-dev:39109] + (struct enumerator): replace no_next by stop_exc. + new field feedvalue. + (enumerator_mark): mark feedvalue and stop_exc. + (enumerator_init): initialize feedvalue and stop_exc. + (enumerator_init_copy): initialize feedvalue. + (next_ii): send yield arguments as an array. return feedvalue. + (next_i): generate StopIteration exception here. set result. + (next_init): initialize feedvalue. + (enumerator_next_values): new method Enumerator#next_values. + (ary2sv): new function. + (enumerator_peek_values): new method Enumerator#peek_values. + (enumerator_feed): new method Enumerator#feed. + (yielder_yield): return the yield value. + (generator_each): return the iterator value. + (stop_result): new method StopIteration#result. + Thu Aug 20 01:06:48 2009 Yukihiro Matsumoto * dir.c (DEFINE_STRUCT_DIRENT): use union to allocate sufficient -- cgit