"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