[前][次][番号順一覧][スレッド一覧]

ruby-changes:8760

From: matz <ko1@a...>
Date: Sat, 22 Nov 2008 03:35:31 +0900 (JST)
Subject: [ruby-changes:8760] Ruby:r20296 (trunk): * ext/curses/curses.c (curses_escdelay_set): support ESCDELAY. a

matz	2008-11-22 03:35:11 +0900 (Sat, 22 Nov 2008)

  New Revision: 20296

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20296

  Log:
    * ext/curses/curses.c (curses_escdelay_set): support ESCDELAY.  a
      patch from Giancarlo F Bellido <support@c...> in
      [ruby-core:19961].

  Modified files:
    trunk/ChangeLog
    trunk/ext/curses/curses.c
    trunk/ext/curses/extconf.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 20295)
+++ ChangeLog	(revision 20296)
@@ -1,3 +1,9 @@
+Fri Nov 21 22:24:31 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* ext/curses/curses.c (curses_escdelay_set): support ESCDELAY.  a
+	  patch from Giancarlo F Bellido <support@c...> in
+	  [ruby-core:19961].
+
 Fri Nov 21 22:17:15 2008  Yukihiro Matsumoto  <matz@r...>
 
 	* ruby.c (usage): -W description updated.  [ruby-core:19858]
Index: ext/curses/curses.c
===================================================================
--- ext/curses/curses.c	(revision 20295)
+++ ext/curses/curses.c	(revision 20296)
@@ -573,6 +573,27 @@
 }
 
 static VALUE
+curses_escdelay_set(VALUE obj, VALUE val)
+{
+#if defined(HAVE_ESCDELAY)
+	ESCDELAY=NUM2INT(val);
+	return INT2NUM(ESCDELAY);
+#else
+	rb_notimplement();
+#endif
+}
+
+static VALUE
+curses_escdelay_get(VALUE obj)
+{
+#if defined(HAVE_ESCDELAY)
+	return INT2NUM(ESCDELAY);
+#else
+	rb_notimplement();
+#endif
+}
+
+static VALUE
 curses_resizeterm(VALUE obj, VALUE lin, VALUE col)
 {
 #if defined(HAVE_RESIZETERM)
@@ -1419,6 +1440,8 @@
     rb_define_method(cMouseEvent, "bstate", curs_mouse_bstate, 0);
 #endif /* USE_MOUSE */
 
+    rb_define_module_function(mCurses, "ESCDELAY=", curses_escdelay_set, 1);
+    rb_define_module_function(mCurses, "ESCDELAY", curses_escdelay_get, 0);
     rb_define_module_function(mCurses, "init_screen", curses_init_screen, 0);
     rb_define_module_function(mCurses, "close_screen", curses_close_screen, 0);
     rb_define_module_function(mCurses, "closed?", curses_closed, 0);
Index: ext/curses/extconf.rb
===================================================================
--- ext/curses/extconf.rb	(revision 20295)
+++ ext/curses/extconf.rb	(revision 20296)
@@ -6,6 +6,7 @@
 
 make=false
 headers = []
+
 have_library("mytinfo", "tgetent") if /bow/ =~ RUBY_PLATFORM
 have_library("tinfo", "tgetent") or have_library("termcap", "tgetent")
 if have_header(*curses=%w"ncurses.h") and have_library("ncurses", "initscr")
@@ -27,5 +28,6 @@
   if try_static_assert("sizeof(char*)>sizeof(int)", %w[stdio.h stdlib.h]+curses , flag)
     $defs << flag
   end
+  have_var("ESCDELAY", curses)
   create_makefile("curses")
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]