diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-11-21 18:35:11 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-11-21 18:35:11 +0000 |
commit | 137b5ecd8d9525dbc45f372a226ccdb94a68d032 (patch) | |
tree | 6aa24365b1e7293ef81171cc30cef58ce256ad10 | |
parent | b58ed037598c05764a7f98038197507481959c99 (diff) | |
download | ruby-137b5ecd8d9525dbc45f372a226ccdb94a68d032.tar.gz |
* 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
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ext/curses/curses.c | 23 | ||||
-rw-r--r-- | ext/curses/extconf.rb | 2 |
3 files changed, 31 insertions, 0 deletions
@@ -1,3 +1,9 @@ +Fri Nov 21 22:24:31 2008 Yukihiro Matsumoto <matz@ruby-lang.org> + + * ext/curses/curses.c (curses_escdelay_set): support ESCDELAY. a + patch from Giancarlo F Bellido <support@coaxialhost.com> in + [ruby-core:19961]. + Fri Nov 21 22:17:15 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * ruby.c (usage): -W description updated. [ruby-core:19858] 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 |