>>198
Linux(Vine 5.2)/bash も FreeBSD(8.2)/bash も Windows 上の cygwin/bash も挙動は同じですね。たぶんあなたの環境でもそうでしょうよ。

>>196
端末ディシプリンは ^D をストリームの終了とはしないようですね。そもそも、カノニカルモードでは端末は ^D をプロセスに渡さないだけで、普通にデータをバッファリングし、NL/EOL で吐き出す。
ただ、これは C の話からはだいぶ外れますが、典拠がみつからない。