"ts" <decoux / moulon.inra.fr> wrote in message news:200304171633.h3HGXYT04772 / moulon.inra.fr... > >>>>> "d" == daniel <student_vienna / aon.at> writes: > > [...] > > rb_thread_local_aset(rb_thread_current(), rb_intern("__block__"), rb_f_lambda()); > > Then when the second function is called, you retrieve the block and call > it, something like > > VALUE block, res; > > block = rb_thread_local_aref(rb_thread_current(), rb_intern("_block_")); > res = rb_funcall(block, rb_intern("call"), 1, INT2FIX(12)); > > [...] uh, this works! however, I'll check the appropriate part of the ruby-source to understand this. thx, daniel