eshell は出力するのが遅い?

例えばこんなプログラムを実行してみると分かる。
lineがなかなか出力されない。
コマンドプロンプトだったらすぐに出力されるのに。

while line = gets
  line.chomp
  exit if /^e|q/ =~ line
  puts line #=> ここ止まりまくり
end


内部バッファをフラッシュさせるようにすれば、
すぐに出力されるようになるけど、
毎回これを入れるのも何だか面倒だ。
Rubyから命令するんじゃなくて、
eshellの方でこれをやってもらいたい。

while line = gets
  line.chomp
  exit if /^e|q/ =~ line
  puts line
  STDOUT.flush #=> この1行つけると全然違う
end


それと、上記のプログラムだと e か q を押したときに
終了するようにしてるけど、
そういうことをしないで終了させる方法も分からない・・・( ´・ω・`)
C-d で End of buffer って出るけど、
それでも終わらないんだよね。。謎。

追記

コメントで C-cC-d で入力を終わらせられることを教えてもらいました。
早速試してみたところ、即終了ではないけど、
ちゃんと終了できることを確認。
なんだか即反映されないのは、Meadow特有の問題みたい?
他にMeadowを使っている方の症状が知りたいところです。