[#9803] ruby source directory — TEI meiki <tei@...>
またまた、鄭です。
[#9811] Ruby book — WATANABE Tetsuya <tetsu@...>
今日のひとこと(10/05)
まつもと ゆきひろです
まつもと ゆきひろです
[#9823] ruby 1.1c6 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#9827] Are there any NNTP Client Class? — Takeshi UME Imai <takeshi@...>
はじめまして。今井といいます。
はじめまして、あおきともうします。
立石です。
あおき@一橋です。
[#9857] Ruby animal — Chihilo YOSHIMURA <yoshimura@...4.people.or.jp>
[#9869] man-1.1/Marshal.html — ttate@...
立石です。
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
前田薫@リコーです。
ふなばです。
前田@リコーです。
ふなばです。
SRA の笠原です。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
笠原です。こんにちは。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
ふなばです。
[#9884] List of UserInterface Kits for Ruby ? — a.furudo@...
まつもと ゆきひろです
[#9885] 文字化け失礼、再送 — Akihiro Furudo <a.furudo@...>
立石です。
[#9891] signal 関係 — sat <sat@...>
五樹島と申します。
[#9908] item insertion in an array — Kikutani Makoto <kikutani@...>
きくたにです。
わたなべです.
Fri, Oct 09, 1998 at 11:22:12AM +0900 において
わたなべです.
[#9911] ruby/jed hoge.rb — Kikutani Makoto <kikutani@...>
ruby/jed ではbuiltinのrubyモードがあるので、
前田です。
[#9959] デストラクタ (?) — m_seki@... (SEKI)
[#9973] [BUG] def i; super i.foo; end; i # => Illegal instruction — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
わたなべです.
ごとけんです
[#9976] ruby:struct -> ext module -> ruby — Kikutani Makoto <kikutani@...>
きくたにです。
Sun, Oct 11, 1998 at 03:40:14PM +0900 において
Mon, Oct 12, 1998 at 01:52:45AM +0900 において
まつもと ゆきひろです
Wed, Oct 14, 1998 at 01:08:31PM +0900 において
きくたにです。またこれなんですが、
[#9978] include vs extend — TEI meiki <tei@...>
鄭です。
まつもと ゆきひろです
原です。
[#9999] ruby on HP-UX — AU6M-IWM@... (Iwama Misao)
まつもと ゆきひろです
どうも 10000 おめでーとです。
In message "[ruby-list:10029] Re: ruby on HP-UX"
岩間です。
わたなべです.
岩間です。
[#10030] Ruby/Gtk text widget — TAKAHASHI Masayoshi <maki@...>
高橋です。
高橋です。
岡本です。
五十嵐@早大 です。
五十嵐@早大 です。
[#10092] for が修飾子だったら — ARIMA Yasuhiro <fit0298@...>
有馬@FITECです。
まつもと ゆきひろです
前田@リコーです。
まつもと ゆきひろです
Regard to "[ruby-list:10097] Re: for が修飾子だったら"
話は変わりますが、
>>>>> "Y" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
>>>>> "Y" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
Reply-To: ruby-devとしました。
市川です。
ど〜も、中井と申します。
[#10111] Ruby on mips-sony-bsd — kjana@... (YANAGAWA Kazuhisa)
SONY NEWS-OS 4.2R 上で ruby を make した時に起こったこと.
まつもと ゆきひろです
小田@QNES です。
[#10140] xtoolkit patch — 民斗 <tommy@...>
RUby から Motif を使ってみようと思って、xtoolkit-0.0 を使おうとしたので
[#10143] tk.rb: font name — TEI meiki <tei@...>
鄭です。
永井@知能.九工大です.
鄭です。
[#10159] Speed! — Kikutani Makoto <kikutani@...>
きくたにです。
えぐち@エスアンドイー です。
[#10165] syntax of compare strings — Koji Oda <oda@...1.qnes.nec.co.jp>
小田@QNES です。
わたなべです.
[#10175] VPATH — Motoyuki Kasahara <m-kasahr@...>
SRA の笠原です。
[#10208] stdin — komai@...4u.or.jp
はじめまして、こまいと申します。
In message "[ruby-list:10208] stdin"
[#10232] Regexp.html — Tadayoshi Funaba <tadf@...>
ふなばです。
まつもと ゆきひろです
[#10233] curses and thread — aito@...
あ伊藤です.
自己フォローですが,
あ伊藤です.
まつもと ゆきひろです
あ伊藤です.terminfo パッケージについて,
[#10236] Array.html again — Motoyuki Kasahara <m-kasahr@...>
笠原です。こんにちは。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
大原です。
[#10257] 今日の一言について — Takayuki SAGIJIMA <sat@...>
五樹島です。
田中久太郎@三鷹市です。
大原と言います。
[#10271] Time.html — Tadayoshi Funaba <tadf@...>
ふなばです。
[#10272] time.c:time_arg() — Tadayoshi Funaba <tadf@...>
ふなばです。
まつもと ゆきひろです
ふなばです。
[#10286] Re: for が修飾子だったら — ttate@...
立石です。
[#10294] Re: 文字列を数値型に変換する方法を教えてください — "石田 宏香" <h-ishida@...>
石田です。
[#10303] djgpp 版の Make について — たむら けんいち <t9655832@...>
[#10311] Re: 大規模プログラムの友 — m_seki@... (SEKI)
At 11:23 PM 98.10.23 +0900, Takashi Nakai wrote:
ど〜も、(またしても)中井です。
そういえば、「rubyコンパイラが欲しい」というような要望は
まつもと ゆきひろです
福嶋と申します。
いがらし@早大 です。
[#10316] array — Toshiki Komai <komai@...4u.or.jp>
こまいです。先日、
[#10338] rbgw11c6 + rskkserv-1.0.2 — Masaki YATSU <yatsu@...>
[#10346] negative index of an array — Motoyuki Kasahara <m-kasahr@...>
笠原です。
[#10406] ruby スクリプトにメニューのようなメッセージと選択方法をいれたいのですが... — "Hirotaka Ishida" <h-ishida@...>
いしだです。
[#10413] how to setup ruby for Windows NT — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#10415] split — flare@... (Takashi Ikeda)
ふれあです。
えぐち@エスアンドイー です。
limit の挙動を Perl に合わせるというのはどうでしょうか?
[#10443] ruby 1.1c での SJIS — Toshiharu Tanaka <tanatosi@...>
たなか@神戸です。
[#10470] MailModule ver 0.2 — MineroAoki <aamine@...>
あおき@一橋です。
Fri, Oct 30, 1998 at 12:45:10AM +0900 において
あおきです。
Thu, Feb 04, 1999 at 10:25:47AM +0900 において
[#10473] case with Class — MineroAoki <aamine@...>
あおきです。
まつもと ゆきひろです
こんにちは。あおきです。
ごとけんです
あおきです。
前田です。
青山です。
前田です。
青山です。
まつもと ゆきひろです
[#10498] 全角英数字を半角にする方法 — 民斗 <tommy@...>
民斗です。
[#10510] irb がうまく動かない — ARIMA Yasuhiro <fit0298@...>
有馬@FITECです。
[#10527] rfc822.rb — "Kikutani, Makoto" <kikutani@...>
きくたにです。
[#10539] syntax error in thread — Yoshiki WADA <wada@...>
和田といいます。
青山です。
[ruby-list:10268] terminfo
あ伊藤です.
先日 curses で変なことを口走ったから,というわけでもないの
ですが,curses 拡張モジュールに,低レベルの terminfo ライブ
ラリへのインタフェースを追加してみました.
もし可能なら,curses の配布パッケージに追加していただきたい
のですが.標準配布するのがいかん,という場合は,別な拡張
モジュールにする予定です.
# pty と terminfo.さあ次は何だ?
--
aito
*** curses.c.org Wed Oct 21 12:19:58 1998
--- curses.c Wed Oct 21 14:27:30 1998
***************
*** 28,36 ****
--- 28,38 ----
#endif
#include "ruby.h"
+ #include "rubyio.h" /* by A. Ito */
static VALUE mCurses;
static VALUE cWindow;
+ static VALUE mTerminfo; /* by A. Ito */
VALUE rb_stdscr;
***************
*** 750,755 ****
--- 752,917 ----
return Qnil;
}
+ /*------------------------- module Terminfo-------------------------*/
+ /* terminfo module is added by A. Ito, 21 October, 1998 */
+
+ #include <term.h>
+
+ /* def setupterm(term,file) */
+ static VALUE
+ ti_setupterm(obj,term,file)
+ VALUE obj;
+ VALUE file;
+ VALUE term;
+ {
+ int err_return;
+ char *c_term;
+ if (NIL_P(term))
+ c_term = NULL;
+ else {
+ Check_Type(term,T_STRING);
+ c_term = RSTRING(term)->ptr;
+ }
+ Check_Type(file,T_FILE);
+ setupterm(c_term,fileno(RFILE(file)->fptr->f),&err_return);
+ if (err_return == 0)
+ Fail("Can't find terminal %s",c_term?c_term:"(NULL)");
+ else if (err_return == -1)
+ Fail("Can't find terminfo database");
+
+ return Qnil;
+ }
+
+ /* def def_prog_mode */
+ static VALUE
+ ti_def_prog_mode(obj)
+ VALUE obj;
+ {
+ def_prog_mode();
+ return Qnil;
+ }
+
+ /* def def_shell_mode */
+ static VALUE
+ ti_def_shell_mode(obj)
+ VALUE obj;
+ {
+ def_shell_mode();
+ return Qnil;
+ }
+
+ /* def reset_prog_mode */
+ static VALUE
+ ti_reset_prog_mode(obj)
+ VALUE obj;
+ {
+ reset_prog_mode();
+ return Qnil;
+ }
+
+ /* def reset_shell_mode */
+ static VALUE
+ ti_reset_shell_mode(obj)
+ VALUE obj;
+ {
+ reset_shell_mode();
+ return Qnil;
+ }
+
+ /* def tigetstr(capname) */
+ static VALUE
+ ti_tigetstr(obj,capname)
+ VALUE obj;
+ VALUE capname;
+ {
+ char* ret;
+ Check_Type(capname,T_STRING);
+ ret = tigetstr(RSTRING(capname)->ptr);
+ if (ret == (char*)-1)
+ Fail("unknown terminfo string entry :%s",RSTRING(capname)->ptr);
+ if (ret == NULL)
+ return Qnil;
+ return str_new2(ret);
+ }
+
+ /* def tigetnum(capname) */
+ static VALUE
+ ti_tigetnum(obj,capname)
+ VALUE obj;
+ VALUE capname;
+ {
+ int ret;
+ Check_Type(capname,T_STRING);
+ ret = tigetnum(RSTRING(capname)->ptr);
+ if (ret == -2)
+ Fail("unknown terminfo number entry: %s",RSTRING(capname)->ptr);
+ return INT2FIX(ret);
+ }
+
+ /* def tigetflag(capname) */
+ static VALUE
+ ti_tigetflag(obj,capname)
+ VALUE obj;
+ VALUE capname;
+ {
+ int ret;
+ Check_Type(capname,T_STRING);
+ ret = tigetflag(RSTRING(capname)->ptr);
+ if (ret == -1)
+ Fail("unknown terminfo boolean entry: %s",RSTRING(capname)->ptr);
+ return ret==0?FALSE:TRUE;
+ }
+
+ /* def tparm(str,...) */
+ static VALUE
+ ti_tparm(argc,argv,obj)
+ int argc;
+ VALUE *argv;
+ VALUE obj;
+ {
+ long int p[9];
+ char *str;
+ int i;
+
+ if (argc < 1)
+ Fail("too few argument");
+ if (argc >= 10)
+ Fail("too many argument");
+ for (i = 0; i < 9; i++)
+ p[i] = 0;
+ Check_Type(argv[0],T_STRING);
+ str = RSTRING(argv[0])->ptr;
+ for (i = 1; i < argc; i++) {
+ Check_Type(argv[i],T_FIXNUM);
+ p[i-1] = FIX2INT(argv[i]);
+ }
+ return str_new2(tparm(str,p[0],p[1],p[2],p[3],p[4],p[5],p[6],p[7],p[8],p[9]));
+ }
+
+ static FILE *output_stream_for_putc;
+
+ static int
+ ti_pseudo_putc(char c)
+ {
+ fputc(c,output_stream_for_putc);
+ return c;
+ }
+
+ /* def tputs(str,io) */
+ static VALUE
+ ti_tputs(obj,str,io)
+ VALUE obj;
+ VALUE str;
+ VALUE io;
+ {
+ Check_Type(str,T_STRING);
+ Check_Type(io,T_FILE);
+ output_stream_for_putc = RFILE(io)->fptr->f;
+ tputs(RSTRING(str)->ptr,1,ti_pseudo_putc);
+ return Qnil;
+ }
+
+
/*------------------------- Initialization -------------------------*/
void
Init_curses()
***************
*** 817,820 ****
--- 979,994 ----
rb_define_method(cWindow, "deleteln", window_deleteln, 0);
rb_set_end_proc(curses_finalize, 0);
+
+ mTerminfo = rb_define_module("Terminfo");
+ rb_define_module_function(mTerminfo, "setupterm", ti_setupterm, 2);
+ rb_define_module_function(mTerminfo, "def_prog_mode", ti_def_prog_mode, 0);
+ rb_define_module_function(mTerminfo, "def_shell_mode", ti_def_shell_mode, 0);
+ rb_define_module_function(mTerminfo, "reset_prog_mode", ti_reset_prog_mode, 0);
+ rb_define_module_function(mTerminfo, "reset_shell_mode", ti_reset_shell_mode, 0);
+ rb_define_module_function(mTerminfo, "getstr", ti_tigetstr, 1);
+ rb_define_module_function(mTerminfo, "getnum", ti_tigetnum, 1);
+ rb_define_module_function(mTerminfo, "getflag", ti_tigetflag, 1);
+ rb_define_module_function(mTerminfo, "tparm", ti_tparm, -1);
+ rb_define_module_function(mTerminfo, "tputs", ti_tputs, 2);
}