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=') { ... }