On Sat Apr 14 15:46:56 2007, allison wrote:
> What I get is:
> 
> [oops; continuation 0x188ae28 of type 24 is trying to jump from runloop
> 2 to runloop 1]
> ok
> not ok
> 
> from line 252 of src/pmc/continuation.pmc
> 
> Looks like this is yet-another-example of the inferior runloops problem.
> 
> Throwing an exception from a called sub works just fine:
> 
> .sub main :main
> newclass $P0, "Parent"
> push_eh handler
> "foo"()
> print "not "
> handler:
> print "ok\n"
> end
> .end
> 
> .sub foo
> $P1 = new .Exception
> $P1["_message"] = "Blah"
> throw $P1
> .end
> 
> Allison

If I update the syntax here a bit to what I think is the modern-day parrot 
analog, I get:

$ cat foo.pir
.sub main :main
  newclass $P0, "Parent"
  push_eh handler
  $P2 = new "Parent"
  print "not "
handler:
  print "ok\n"
end
.end

.namespace ["Parent"]
.sub __init :method
  $S0 = typeof self
  if $S0 != "Parent" goto INIT_OK
  die "Can not instantiate an interface!"
INIT_OK:
.end

2;0 [EMAIL PROTECTED]:~/sandbox/parrot$ ./parrot foo.pir
[oops; continuation 0x82232f0 of type 21 is trying to jump from runloop 2 to 
runloop 1]
ok
not ok

... Which is what allison was saying she got on the older version.

 If nothing else, the inferior runloop diagnostic here shouldn't be occuring.  
Let's see how 
this fairs when we re-merge the pdd25 work back into trunk.


-- 
Will "Coke" Coleda

Reply via email to