Author: pmichaud
Date: Sat Jul 26 12:24:13 2008
New Revision: 29769

Modified:
   trunk/languages/perl6/src/builtins/control.pir
   trunk/languages/perl6/src/parser/grammar-oper.pg

Log:
[rakudo]: Switch sleep to be a listop instead of named unary (masak++)
* Partially solves RT #57924; but uses a hard-coded constant value
  to represent "forever" until Parrot provides a way to do it.


Modified: trunk/languages/perl6/src/builtins/control.pir
==============================================================================
--- trunk/languages/perl6/src/builtins/control.pir      (original)
+++ trunk/languages/perl6/src/builtins/control.pir      Sat Jul 26 12:24:13 2008
@@ -113,7 +113,11 @@
 =cut
 
 .sub 'sleep'
-    .param num a
+    .param num a               :optional
+    .param int has_a           :opt_flag
+    if has_a goto have_a
+    a = 2147483647                               # FIXME: RT #57294
+  have_a:
     $N0 = time
     sleep a
     $N1 = time

Modified: trunk/languages/perl6/src/parser/grammar-oper.pg
==============================================================================
--- trunk/languages/perl6/src/parser/grammar-oper.pg    (original)
+++ trunk/languages/perl6/src/parser/grammar-oper.pg    Sat Jul 26 12:24:13 2008
@@ -75,7 +75,6 @@
 proto prefix:<WHAT> is equiv(prefix:<abs>) is subname('WHAT') { ... }
 proto prefix:<pop> is equiv(prefix:<abs>) is subname('pop') { ... }
 proto prefix:<shift> is equiv(prefix:<abs>) is subname('shift') { ... }
-proto prefix:<sleep> is equiv(prefix:<abs>) is subname('sleep') { ... }
 
 ## nonchaining
 proto infix:<..> is precedence('n=') { ... }

Reply via email to