前田です。 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);