[#8136] Confused exception handling in Continuation Context — "Robert Dober" <robert.dober@...>

Hi all

13 messages 2006/07/06

[#8248] One-Click Installer: MinGW? or VC2005? — "Curt Hibbs" <ml.chibbs@...>

I just posted this to ruby-talk. But I would also like to discuss this

33 messages 2006/07/18
[#8264] Re: One-Click Installer: MinGW? or VC2005? — Charlie Savage <cfis@...> 2006/07/19

From my experience using both tool chains on Windows (for the ruby-prof

[#8266] Re: One-Click Installer: MinGW? or VC2005? — "Curt Hibbs" <ml.chibbs@...> 2006/07/19

Tim, I'm going to top reply since your post was so long. I'm interested in

[#8267] Re: One-Click Installer: MinGW? or VC2005? — Charlie Savage <cfis@...> 2006/07/19

> Tim, I'm going to top reply since your post was so long. I'm interested in

[#8271] my sandboxing extension!! — why the lucky stiff <ruby-core@...>

I have (what feels like) very exciting news. I finally sat down to code up my

17 messages 2006/07/19

[#8430] Re: doc patch: weakref. — "Berger, Daniel" <Daniel.Berger@...>

> -----Original Message-----

19 messages 2006/07/28
[#8434] Re: doc patch: weakref. — Yukihiro Matsumoto <matz@...> 2006/07/29

Hi,

[#8436] Re: doc patch: weakref. — Daniel Berger <djberg96@...> 2006/07/29

Yukihiro Matsumoto wrote:

[#8437] Re: doc patch: weakref. — Mauricio Fernandez <mfp@...> 2006/07/29

On Sat, Jul 29, 2006 at 07:37:24PM +0900, Daniel Berger wrote:

[#8441] Inconsistency in scoping during module_eval? — "Charles O Nutter" <headius@...>

I have the following code:

18 messages 2006/07/30
[#8442] Re: Inconsistency in scoping during module_eval? — nobu@... 2006/07/30

Hi,

[#8443] Re: Inconsistency in scoping during module_eval? — "Charles O Nutter" <headius@...> 2006/07/30

Why does this:

[#8445] Re: Inconsistency in scoping during module_eval? — Yukihiro Matsumoto <matz@...> 2006/07/30

Hi,

[#8454] Re: Inconsistency in scoping during module_eval? — "Charles O Nutter" <headius@...> 2006/07/31

So to clarify...

[Bug?] Confused exception handling in Continuation Context

From: "Robert Dober" <robert.dober@...>
Date: 2006-07-06 10:36:05 UTC
List: ruby-core #8136
Hi all

I just went over some old Iterator code from the talk-list when I found some
very strange behavior concerning Exception when
using the iterator.

The below code loops inside the rescue clause, as a matter of fact it loops
between
      puts i.next
and
     puts "No more dudes"

I did not find any open bug report similar  to it.

I tried to isolate the behavior but could not reproduce it without the
callcc stuff.
I tested this with
* ruby 1.8.4 (2005-12-24) [i386-cygwin]
* ruby 1.8.4 (2005-12-24) [i686-linux]
* ruby 1.9.0 (2006-04-21) [i486-linux]

-------------------------------------------- 8<
-------------------------------------------------------------------

class Iterator
        class Exhausted < Exception; end
        def initialize( enum )
                @enum = enum
                @next = nil
        end

        def next
                return @next.call if @next
                @enum.each do
                        |item|
                        callcc{ |@next|
                                return item
                        }
                end # do
                raise Exception
        end # def next

        def reset
                @next = nil
        end
end # class Iterator

i = Iterator.new( %w{ Ringo John Paul George } )
begin
        loop do
                puts i.next
        end
rescue Exception
        puts "No more dudes"
end
#i.reset
puts i.next
--------------------------------------------------->8--------------------------------------------

Cheers
Robert

Attachments (1)

iter.tar.bz2 (506 Bytes, Archive)

In This Thread

Prev Next