# New Ticket Created by  Mark Montague 
# Please include the string:  [perl #69991]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=69991 >



Exceptions from src/builtins/io.pir (and possibly elsewhere) are not  
being properly thrown:

diff --git a/src/builtins/io.pir b/src/builtins/io.pir
index 69cdf88..10fe7e8 100644
--- a/src/builtins/io.pir
+++ b/src/builtins/io.pir
@@ -172,6 +172,7 @@ true value is returned.

    failure:
      pop_eh
+    print "parrot exception for chdir caught\n"
      .tailcall '!FAIL'('Unable to change to directory "', newdir, '"')
  .end


$ ./perl6 -e 'try { chdir("/no/such/directory"); CATCH { say "caught"; } }'
parrot exception for chdir caught
$

The above should also have said "caught" but did not.  The same thing  
happens for mkdir():

$ ./perl6 -e 'try { mkdir("/no/such/directory"); CATCH { say "caught"; } }'
$

However, this works:

$ ./perl6 -e 'try { fail("oh noes"); CATCH { say "caught"; } }'
caught
$

Extra info:

$ git pull
Already up-to-date.
$ git rev-parse HEAD
501b4fb08ece44433e2bbedba0ef13e3e523f883
$ parrot_config VERSION  # built and installed separately from rakudo
1.7.0




                 Mark Montague
                 markm...@umich.edu

Reply via email to