I’ve already posted a description of my problem at Stackoverflow, but
realized it might be most appropriate to post here as well, so I will
summarize and then link.
I am having this problem consistently with 1.9.1-p378 and with 1.9.2rc1.
The short of it is that when I call rb_block_call, the called block
function receives the yield value and data2 appropriately, but argc is
always set at 1 (no matter what I pass) while argv[ 0 ] and argv[ 2 ] ==
yield value, and argv[ 1 ] == Qfalse.
More detail and my code can be found here:
Any insight is appreciated, as I am at a point where it is difficult to
move on until this is worked out.