Author: pmichaud
Date: Tue Dec 30 18:00:39 2008
New Revision: 34682

Modified:
   trunk/languages/perl6/src/builtins/control.pir

Log:
[rakudo]:  eval() returns Nil for void expressions (RT #61868, lathos++)


Modified: trunk/languages/perl6/src/builtins/control.pir
==============================================================================
--- trunk/languages/perl6/src/builtins/control.pir      (original)
+++ trunk/languages/perl6/src/builtins/control.pir      Tue Dec 30 18:00:39 2008
@@ -312,19 +312,21 @@
     invokable = compiler.'compile'(code)
 
     res = invokable()
-    pop_eh
     exception = new 'Failure'
     goto done
 
   catch:
     .get_results (exception)
-    goto done
 
   done:
+    pop_eh
     # Propagate exception to caller
     $P0 = getinterp
     $P0 = $P0['lexpad';1]
     $P0['$!'] = exception
+    unless null res goto with_res
+    res = new ['Nil']
+  with_res: 
     .return (res)
 .end
 

Reply via email to