前田です。

Shoichi OZAWA <ozawa / omika.hitachi.co.jp> san wrote:

|で、curses モジュールに cbreak(nocbreak) がないこと
|に気づきました。代わりに crmode(nocrmode) があります。
|
|cbreak は crmode と機能的には同じモノのようです。
|SunOS4 の curses や GNU の ncurses では、crmode は
|古い curses ライブラリの互換性のためにあるようです。

なるほど、そうなってたんですね。
手元にある本で唯一cursesについて言及している本ではcrmodeに
なってたのでそのままにしていました。

|crmode を無くして cbreak を付けたほうが良いのか
|それとも両方あったほうが良いのか はよく分かりません。

crmodeの本体は無くしてaliasだけ用意しておくのがよい
ような気がします。
小澤さんのパッチへのパッチを付けておきます。

-- 
前田 修吾

--- curses.c.orig Wed Jul 23 18:58:57 1997 +++ curses.c Wed Jul 23 18:55:04 1997 @@ -190,22 +190,6 @@ return Qnil; } -/* def crmode */ -static VALUE -curses_crmode(VALUE obj) -{ - CHECK(crmode()); - return Qnil; -} - -/* def nocrmode */ -static VALUE -curses_nocrmode(VALUE obj) -{ - CHECK(nocrmode()); - return Qnil; -} - /* def nl */ static VALUE curses_nl(VALUE obj) @@ -687,8 +671,8 @@ rb_define_module_function(mCurses, "noraw", curses_noraw, 0); rb_define_module_function(mCurses, "cbreak", curses_cbreak, 0); rb_define_module_function(mCurses, "nocbreak", curses_nocbreak, 0); - rb_define_module_function(mCurses, "crmode", curses_crmode, 0); - rb_define_module_function(mCurses, "nocrmode", curses_nocrmode, 0); + rb_define_alias(mCurses, "crmode", "cbreak"); + rb_define_alias(mCurses, "nocrmode", "nocbreak"); rb_define_module_function(mCurses, "nl", curses_nl, 0); rb_define_module_function(mCurses, "nonl", curses_nonl, 0); rb_define_module_function(mCurses, "beep", curses_beep, 0);