Reworked the patch according to pmichaud's instructions for using :opt_flag.
Waiting for the results of my testing proposal before making tests available.
Colin
Index: languages/perl6/src/builtins/string.pir
===================================================================
--- languages/perl6/src/builtins/string.pir (revision 20402)
+++ languages/perl6/src/builtins/string.pir (working copy)
@@ -191,10 +191,19 @@
.sub 'substr'
.param string x
- .param int start
- .param int len
+ .param int start
+ .param int len :optional
+ .param int has_len :opt_flag
+
+ unless has_len goto end_of_string
+
$S0 = substr x, start, len
.return ($S0)
+
+ end_of_string:
+ $S0 = substr x, start
+ .return ($S0)
+
.end