Bug #1029

\C-z as an EOF

Added by yugui (Yuki Sonoda) over 3 years ago. Updated about 1 year ago.

[ruby-dev:37798]
Status:Closed Start date:01/21/2009
Priority:Normal Due date:
Assignee:nobu (Nobuyoshi Nakada) % Done:

100%

Category:core
Target version:2.0.0
ruby -v:

Description

http://pc11.2ch.net/test/read.cgi/tech/1223709050/520

標準入力からのソースコード入力において、mingwでは\C-zをEOFと認識して欲しいという要望がありました。もっともだと思います。
ARGFも、ですかね。たぶん。

Associated revisions

Revision 21710
Added by nobu (Nobuyoshi Nakada) over 3 years ago

* include/ruby/io.h (FMODE_EOF): EOF flag on TTY. * io.c (io_set_eof): sets EOF flag for TTY. * io.c (io_seek): clears EOF flag. * io.c (io_fillbuf): returns EOF if already met EOF. [ruby-dev:37798] * io.c (io_fillbuf, io_fread, io_getpartial): sets EOF.

History

Updated by usa (Usaku NAKAMURA) over 3 years ago

こんにちは、なかむら(う)です。

In message "[ruby-dev:37798] [Feature #1029] \C-z as an EOF"
    on Jan.21,2009 00:11:08, <redmine@ruby-lang.org> wrote:
> 標準入力からのソースコード入力において、mingwでは\C-zをEOFと認識して欲しいという要望がありました。もっともだと思います。
> ARGFも、ですかね。たぶん。

mingwじゃなくてmswin32で再現を確認しましたが、

 (1) \C-z+Enterを2回入れれば認識される
 (2) \C-d+Enterは1回で認識される
 (3) ARGFは\C-z+Enter1回で認識される
 (4) ARGFは\C-d+EnterはEOFとは認識しない

となっていますね。
ちなみに1.8では(1)が正しく1回で認識される他は1.9と同じです。
(2)と(4)はさしあたって放置しといていいとは思いますが、1.9の(1)
はバグとして直す必要があると思います。

しかしいつからなのかよくわかりませんが、誰か心当たりはありま
せんか?


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>

Updated by usa (Usaku NAKAMURA) over 3 years ago

  • Assignee set to usa (Usaku NAKAMURA)
  • Reproducible Version set to trunk

Updated by usa (Usaku NAKAMURA) over 3 years ago

  • Assignee changed from usa (Usaku NAKAMURA) to nobu (Nobuyoshi Nakada)
実はOS依存はなく、\C-dをEOFとみなすプラットフォームでも2回押さないとダメになっています。
というわけで心当たりがあるらしいなかださんに担当を変更。

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
Applied in changeset r21710.

Also available in: Atom PDF