Author: bernhard
Date: Wed May 30 11:48:55 2007
New Revision: 18692

Modified:
   trunk/languages/lisp/read.pir

Log:
[languages/lisp]
_FUNCTION_CALL seems to return a single PMC or null


Modified: trunk/languages/lisp/read.pir
==============================================================================
--- trunk/languages/lisp/read.pir       (original)
+++ trunk/languages/lisp/read.pir       Wed May 30 11:48:55 2007
@@ -2,6 +2,7 @@
 
 .sub _read
   .param pmc args
+
   .local pmc readmacros
   .local pmc readtable
   .local pmc readcase
@@ -54,16 +55,16 @@
   .local pmc mchar
 
    macro = readmacros[char]                # Get the readmacro we're calling
+
   .STRING(mchar, char)
 
   .LIST_2(margs, istream, mchar)           # Create a list of args to pass in
    # VALID_IN_PARROT_0_2_0 retv = _FUNCTION_CALL(macro, margs)         # Call 
the readmacro
 
+   null retv
+   retv = _FUNCTION_CALL(macro, margs)         # Call the readmacro
    # VALID_IN_PARROT_0_2_0 if argcP == 0 goto STEP_1
-   (retv :slurpy) = _FUNCTION_CALL(macro, margs)         # Call the readmacro
-   
-   nretv = retv
-   if nretv == 0 goto STEP_1
+   if_null retv, STEP_1
    goto DONE
 
 STEP_5:
@@ -345,8 +346,18 @@
   .return(retv)
 .end
 
+=head2 _semicolon_macro
+
+A comment. Skip everything till the end of line
+or the end of file.
+
+As described in CLtL section 2.4.4
+
+=cut
+
 .sub _semicolon_macro                   # As described in CLtL section 2.4.4
   .param pmc args
+
   .local string char
   .local pmc istream
   .local pmc stream

Reply via email to