[#1651] A min/max bug? — "Christoph" <chr_news@...>
Hi,
[#1690] Re: open-uri patch, added progress_proc hook — Elliott Hughes <ehughes@...>
In effect. I mean that if a method's interface is getting too complicated,
In article <AD4480A509455343AEFACCC231BA850F17C358@ukexchange>,
On Sun, Nov 16, 2003 at 07:51:42PM +0900, Tanaka Akira wrote:
[#1699] FileUtils bug and fix — Chad Fowler <chad@...>
As posted in ruby-talk:85349, I believe there is a bug in FileUtils.cp's
[#1706] gc_sweep in Ruby 1.8 — Richard Kilmer <rich@...>
I posted about this before but Matz wanted me to post more detail.
>>>>> "R" == Richard Kilmer <rich@infoether.com> writes:
[#1711] Re: open-uri patch, added progress_proc hook — "T. Onoma" <transami@...>
Tanaka Akira:
On Sunday 23 November 2003 07:12 pm, Mathieu Bouchard wrote:
On Sunday 23 November 2003 08:26 pm, Mathieu Bouchard wrote:
On Sunday 23 November 2003 09:32 pm, Mathieu Bouchard wrote:
On Sunday 23 November 2003 11:13 pm, Mathieu Bouchard wrote:
On Mon, Nov 24, 2003 at 05:32:09AM +0900, Mathieu Bouchard wrote:
[#1716] Re: open-uri patch, added progress_proc hook — "T. Onoma" <transami@...>
Tanaka Akira:
[#1718] Re: open-uri patch, added progress_proc hook — Elliott Hughes <ehughes@...>
In article <AD4480A509455343AEFACCC231BA850F17C434@ukexchange>,
On Saturday 22 November 2003 04:34 pm, Tanaka Akira wrote:
In article <200311221024.05642.transami@runbox.com>,
On Sunday 23 November 2003 02:24 am, Tanaka Akira wrote:
In article <200311230325.21687.transami@runbox.com>,
On Sunday 23 November 2003 03:10 pm, Tanaka Akira wrote:
In article <200311230648.41003.transami@runbox.com>,
On Monday 24 November 2003 03:19, Tanaka Akira wrote:
Sean E Russell [mailto:ser@germane-software.com] wrote:
[#1753] gc_sweep under 1.8 ... not syck.so — Richard Kilmer <rich@...>
We still encountered a gc_sweep in our use of Ruby 1.8 on Linux (v8).
>>>>> "R" == Richard Kilmer <rich@infoether.com> writes:
Yes, there are several (Ruby) threads working during this gc_sweep.
>>>>> "R" == Richard Kilmer <rich@infoether.com> writes:
of course this effects 300 machines ;-)
>>>>> "R" == Richard Kilmer <rich@infoether.com> writes:
The saga continues:
>>>>> "R" == Richard Kilmer <rich@infoether.com> writes:
There is a discussion (found by chad fowler) on ruby-dev (22000)
[#1755] Re: Controlled block variables — Jamis Buck <jgb3@...>
On Mon, 2003-11-24 at 02:04, T. Onoma wrote:
On Monday 24 November 2003 05:22 pm, Jamis Buck wrote:
On Monday 24 November 2003 11:51, T. Onoma wrote:
On Monday 24 November 2003 06:40 pm, Sean E Russell wrote:
On Tue, 25 Nov 2003, T. Onoma wrote:
On Monday 24 November 2003 14:02, T. Onoma wrote:
On Monday 24 November 2003 09:15 pm, Sean E Russell wrote:
[#1799] Syck install on Debian Standard (Ruby 1.6.7) — "T. Onoma" <transami@...>
Hi, I'm having some trouble installing Syck on Debain (woody). I'm not
On Friday 28 November 2003 09:17 am, T. Onoma wrote:
On Fri, Nov 28, 2003 at 05:22:48PM +0900, T. Onoma wrote:
[#1819] Re: configure.in: do not override CCDLDFLAGS, LDFLAGS, XLDFLAGS — Eric Sunshine <sunshine@...>
Hello,
[patch] Small additions to Curses extension
The attached patch adds bindings for these functions to Curses: - def_prog_mode() as Curses.def_prog_mode - reset_prog_mode() as Curses.reset_prog_mode - timeout() as Curses.timeout= - wtimeout() as Window#timeout= - nodelay() as Window#nodelay= All of these functions are specified in the XSI Curses standard, Issue 4. The standard also specifies other possibly useful functions that aren't included in the Curses extension. I'd be very interested in knowing why they haven't been included? For the sake of simplicity? Portability? -- Ville Aine / "if.iknisleh.sc@eniav".reverse
Attachments (1)
Index: curses.c
===================================================================
RCS file: /src/ruby/ext/curses/curses.c,v
retrieving revision 1.21
diff -u -r1.21 curses.c
--- curses.c 18 Aug 2003 16:24:42 -0000 1.21
+++ curses.c 18 Nov 2003 23:43:15 -0000
@@ -679,6 +679,31 @@
#undef define_curs_mouse_member
#endif /* USE_MOUSE */
+#ifdef HAVE_TIMEOUT
+static VALUE
+curses_timeout(VALUE obj, VALUE delay)
+{
+ timeout(NUM2INT(delay));
+ return Qnil;
+}
+#endif
+
+#ifdef HAVE_DEF_PROG_MODE
+static VALUE
+curses_def_prog_mode(VALUE obj)
+{
+ return def_prog_mode() == OK ? Qtrue : Qfalse;
+}
+#endif
+
+#ifdef HAVE_RESET_PROG_MODE
+static VALUE
+curses_reset_prog_mode(VALUE obj)
+{
+ return reset_prog_mode() == OK ? Qtrue : Qfalse;
+}
+#endif
+
/*-------------------------- class Window --------------------------*/
/* def self.allocate */
@@ -1251,6 +1276,30 @@
}
#endif /* HAVE_KEYPAD */
+#ifdef HAVE_NODELAY
+static VALUE
+window_nodelay(VALUE obj, VALUE val)
+{
+ struct windata *winp;
+ GetWINDOW(obj,winp);
+
+ return nodelay(winp->window,RTEST(val) ? TRUE : FALSE) == OK ?
+ Qtrue : Qfalse;
+}
+#endif
+
+#ifdef HAVE_WTIMEOUT
+static VALUE
+window_timeout(VALUE obj, VALUE delay)
+{
+ struct windata *winp;
+ GetWINDOW(obj,winp);
+
+ wtimeout(winp->window,NUM2INT(delay));
+ return Qnil;
+}
+#endif
+
/*------------------------- Initialization -------------------------*/
void
Init_curses()
@@ -1332,6 +1381,15 @@
rb_define_module_function(mCurses, "mouseinterval", curses_mouseinterval, 1);
rb_define_module_function(mCurses, "mousemask", curses_mousemask, 1);
#endif /* USE_MOUSE */
+#ifdef HAVE_TIMEOUT
+ rb_define_module_function(mCurses, "timeout=", curses_timeout, 1);
+#endif
+#ifdef HAVE_DEF_PROG_MODE
+ rb_define_module_function(mCurses, "def_prog_mode", curses_def_prog_mode, 0);
+#endif
+#ifdef HAVE_RESET_PROG_MODE
+ rb_define_module_function(mCurses, "reset_prog_mode", curses_reset_prog_mode, 0);
+#endif
cWindow = rb_define_class_under(mCurses, "Window", rb_cData);
rb_define_alloc_func(cWindow, window_s_allocate);
@@ -1379,6 +1437,12 @@
rb_define_method(cWindow, "bkgd", window_bkgd, 1);
rb_define_method(cWindow, "getbkgd", window_getbkgd, 0);
#endif /* USE_COLOR */
+#ifdef HAVE_NODELAY
+ rb_define_method(cWindow, "nodelay=", window_nodelay, 1);
+#endif
+#ifdef HAVE_WTIMEOUT
+ rb_define_method(cWindow, "timeout=", window_timeout, 1);
+#endif
#define rb_curses_define_const(c) rb_define_const(mCurses,#c,UINT2NUM(c))
Index: extconf.rb
===================================================================
RCS file: /src/ruby/ext/curses/extconf.rb,v
retrieving revision 1.15
diff -u -r1.15 extconf.rb
--- extconf.rb 18 Aug 2003 16:24:42 -0000 1.15
+++ extconf.rb 18 Nov 2003 23:43:15 -0000
@@ -19,7 +19,7 @@
end
if make
- for f in %w(isendwin ungetch beep getnstr wgetnstr doupdate flash deleteln wdeleteln keypad keyname init_color wresize resizeterm)
+ for f in %w(isendwin ungetch beep getnstr wgetnstr doupdate flash deleteln wdeleteln keypad keyname init_color wresize resizeterm nodelay timeout wtimeout def_prog_mode reset_prog_mode)
have_func(f)
end
flag = "-D_XOPEN_SOURCE_EXTENDED"