##これやっぱりよくわかりません。ソースコードのどの辺りを見ればいいか教えていただけませんか?
#暗黙の限定継続というより、一度Cの呼び出しが挟まってしまうとSchemeの継続との相性が最悪になってしまうのですよね。今は [Schemeのread] -> [CのScm_Read] -> [CのScm_Getc] -> [portの種類に応じたハンドラ] と呼び出されて、ブロックするかどうかは最後のところでわかりますが、そこからSchemeを呼び出して継続をつかまえてもCのスタック部分はどうにもなりません。CのScm_Readのところでブロックするかどうかを検出できれば、そこからSchemeに制御を戻すことができるだろうな、程度の思いつきです。どうやって検出すべきかはあんまり考えてません。
#なおwrite側の事情も似たようなものです。
#ありがとうございます。けっこうやっかいそうだな、というのだけはわかりました。