summaryrefslogtreecommitdiff
path: root/ext/curses
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-11-21 18:35:11 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-11-21 18:35:11 +0000
commit137b5ecd8d9525dbc45f372a226ccdb94a68d032 (patch)
tree6aa24365b1e7293ef81171cc30cef58ce256ad10 /ext/curses
parentb58ed037598c05764a7f98038197507481959c99 (diff)
* ext/curses/curses.c (curses_escdelay_set): support ESCDELAY. a
patch from Giancarlo F Bellido <support@coaxialhost.com> in [ruby-core:19961]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/curses')
-rw-r--r--ext/curses/curses.c23
-rw-r--r--ext/curses/extconf.rb2
2 files changed, 25 insertions, 0 deletions
diff --git a/ext/curses/curses.c b/ext/curses/curses.c
index 778bee4da9..9f4e02ef42 100644
--- a/ext/curses/curses.c
+++ b/ext/curses/curses.c
@@ -573,6 +573,27 @@ curses_bkgd(VALUE obj, VALUE ch)
}
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 @@ Init_curses(void)
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);
diff --git a/ext/curses/extconf.rb b/ext/curses/extconf.rb
index 799d1bfe5f..3aa91702e3 100644
--- a/ext/curses/extconf.rb
+++ b/ext/curses/extconf.rb
@@ -6,6 +6,7 @@ dir_config('termcap')
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 make
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