[#1263] Draft of the updated Ruby FAQ — Dave Thomas <Dave@...>

33 messages 2000/02/08

[#1376] Re: Scripting versus programming — Andrew Hunt <andy@...>

Conrad writes:

13 messages 2000/02/15

[#1508] Ruby/GTK and the mainloop — Ian Main <imain@...>

17 messages 2000/02/19
[#1544] Re: Ruby/GTK and the mainloop — Yasushi Shoji <yashi@...> 2000/02/23

Hello Ian,

[#1550] Re: Ruby/GTK and the mainloop — Ian Main <imain@...> 2000/02/23

On Wed, Feb 23, 2000 at 02:56:10AM -0500, Yasushi Shoji wrote:

[#1516] Ruby: PLEASE use comp.lang.misc for all Ruby programming/technical questions/discussions!!!! — "Conrad Schneiker" <schneiker@...>

((FYI: This was sent to the Ruby mail list.))

10 messages 2000/02/19

[#1569] Re: Ruby: constructors, new and initialise — Yukihiro Matsumoto <matz@...>

The following message is a courtesy copy of an article

12 messages 2000/02/25

[ruby-talk:01318] Bug in Kernel.open (I think)

From: Dave Thomas <Dave@...>
Date: 2000-02-12 18:05:17 UTC
List: ruby-talk #1318
matz:

You recently changed Kernel.open so it would take a block in the pipe
form. Unfortunately, I think now it _has_ to take a block:

     f = open("|-", "w+")
     if f == nil
       print "in Child\n"
     else
       print "Got: ", f.gets
     end

Gives:

     -:1:in `open': yield called out of iterator (LocalJumpError)
        from -:1


I think the problem is in rb_f_open:

    port = pipe_open(RSTRING(pname)->ptr+1, mode);
    if (NIL_P(port)) {
	rb_yield(port);
    }
    else if (rb_iterator_p()) {
	return rb_ensure(rb_yield, port, rb_io_close, port);
    }

I'm wondering if it should be:

    port = pipe_open(RSTRING(pname)->ptr+1, mode);
    if (!rb_iterator_p())
        return port;

    if (NIL_P(port)) {
	rb_yield(port);
    }
    else {
	return rb_ensure(rb_yield, port, rb_io_close, port);
    }

I'd submit a patch, but I'm not sure of the side effects of this.

Regards


Dave



-- 
Thomas Consulting.
Innovative and successful developments with Unix, Java, C, and C++. 

Now in bookstores:
 The Pragmatic Programmer.  www.pragmaticprogrammer.com/ppbook/

In This Thread

Prev Next