From: Lothar Scholz Date: 2007-03-06T14:56:36+09:00 Subject: Re: [ANN] New "Ruby for Windows" Installer Hello Joel, JV> Lothar Scholz wrote: JV> ... >> 2) My Arachno Ruby IDE needs a patched interpreter for the debugger >> and this is the easiest way to handle it. In the past i was always >> a few steps behind the one click installer. Having a separate project >> means much more flexibility for me, even if i have to update a few >> components of the installer regularly. JV> Can you briefly describe the effects of these patches? There are calls to a function pointer (which can be installed from a debugging extension) at some points. At the moment they are used whenever a thread is created/deleted/switched and a ruby object is allocated or freed. It also possible that the debugging extension can store a pointer in the thread structure (which is only used privately in eval.c) and one in the ruby source file name structure, which is just a pointer before the malloced memory block in ("rb_source_filename" in file gc.c). And well theres also one bugfix i planed to report to the Ruby core list for quite some time. In windows -1 and (-2 in MSVC 8) are special FILE pointers in console applications that don't have a console (ms hack) so "rb_io_isatty(io)" has a bug and needs to be fixed. static VALUE rb_io_isatty(io) VALUE io; { OpenFile *fptr; GetOpenFile(io, fptr); if (fileno(fptr->f) == -1) return Qfalse; /* THIS MUST BE ADDED */ if (isatty(fileno(fptr->f)) == 0) { return Qfalse; } return Qtrue; } -- Best regards, emailto: scholz at scriptolutions dot com Lothar Scholz http://www.ruby-ide.com CTO Scriptolutions Ruby, PHP, Python IDE 's