From: Shoichi OZAWA Date: 1997-07-23T08:38:13+09:00 Subject: [ruby-list:3411] no cbreak in curses module ----Next_Part(Wed_Jul_23_08:30:04_1997)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit こんにちは 小澤@日立 です。 # わたしは2度目の再送です。^^; 最近、curses モジュールを使って遊んでます。(^_^; まだ curses をよく知らないのですが、簡単な C の ソースを書き換えたりして勉強しています。 で、curses モジュールに cbreak(nocbreak) がないこと に気づきました。代わりに crmode(nocrmode) があります。 cbreak は crmode と機能的には同じモノのようです。 SunOS4 の curses や GNU の ncurses では、crmode は 古い curses ライブラリの互換性のためにあるようです。 curses.h の中では #define crmode() cbreak() #define nocrmode() nocbreak() となっています。 crmode を無くして cbreak を付けたほうが良いのか それとも両方あったほうが良いのか はよく分かりません。 とにかく、cbreak を付け足すパッチを作ってみました。 良かったら使ってください。m(_ _)m ではでは。 -- 小澤 彰一 Learn about the Force. mailto:ozawa@omika.hitachi.co.jp ----Next_Part(Wed_Jul_23_08:30:04_1997)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit --- curses.c.org Tue Jul 22 14:21:42 1997 +++ curses.c Tue Jul 22 14:44:21 1997 @@ -174,6 +174,22 @@ return Qnil; } +/* def cbreak */ +static VALUE +curses_cbreak(VALUE obj) +{ + CHECK(cbreak()); + return Qnil; +} + +/* def nocbreak */ +static VALUE +curses_nocbreak(VALUE obj) +{ + CHECK(nocbreak()); + return Qnil; +} + /* def crmode */ static VALUE curses_crmode(VALUE obj) @@ -669,6 +685,8 @@ rb_define_module_function(mCurses, "noecho", curses_noecho, 0); rb_define_module_function(mCurses, "raw", curses_raw, 0); 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_module_function(mCurses, "nl", curses_nl, 0); ----Next_Part(Wed_Jul_23_08:30:04_1997)----