On Tue Mar 20 02:03:58 2012, masak wrote:
> <moritz> r: ENTER { say 1 }
> <p6eval> rakudo b2505b: OUTPUT«1␤»
> <moritz> r: KEEP { say 1 }
> <p6eval> rakudo b2505b: OUTPUT«1␤»
> <moritz> r: UNDO { say 1 }
> <p6eval> rakudo b2505b:  ( no output )
> 
> So far, so good. But:
> 
> <moritz> r: UNDO { say 'undone' }; die 'foo'
> <p6eval> rakudo b2505b:  ( no output )
> <moritz> that doesn't look right :/
> * masak submits rakudobug
> <masak> expected output: 'undone␤foo at blablabla'
> <moritz> r: do { UNDO say "undone"; die "foo" }
> <p6eval> rakudo b2505b: OUTPUT«foo␤  in block <anon> at 
/tmp/zh8VsY8sVT:1␤␤»
> <masak> r: try { UNDO say "undone"; die "foo" }
> <p6eval> rakudo b2505b: OUTPUT«undone␤»

Also:

<moritz> n: do { UNDO say "undone"; die "foo" }
<p6eval> niecza v15-4-g1f35f89: OUTPUT«undone␤Unhandled exception: foo 
[...]
<masak> r: sub foo { UNDO say "undone"; fail }; foo; say "alive"
<p6eval> rakudo b2505b: OUTPUT«alive␤»


Reply via email to