Author: bernhard
Date: Mon Jun  4 11:59:15 2007
New Revision: 18804

Modified:
   trunk/languages/lisp/internals.pir
   trunk/languages/lisp/lisp/bootstrap.l
   trunk/languages/lisp/read.pir

Log:
[languages/lisp]
Try to enable reading in of macros.
Uncomment three more lines in bootstrap.l


Modified: trunk/languages/lisp/internals.pir
==============================================================================
--- trunk/languages/lisp/internals.pir  (original)
+++ trunk/languages/lisp/internals.pir  Mon Jun  4 11:59:15 2007
@@ -296,6 +296,7 @@
 
 .sub _IS_ORDINARY_LAMBDA_LIST
   .param pmc form
+
   .local string type
   .local pmc symbol
   .local pmc args

Modified: trunk/languages/lisp/lisp/bootstrap.l
==============================================================================
--- trunk/languages/lisp/lisp/bootstrap.l       (original)
+++ trunk/languages/lisp/lisp/bootstrap.l       Mon Jun  4 11:59:15 2007
@@ -99,8 +99,8 @@
 (sys:%make-package "COMMON-LISP-USER")
 (sys:%alias-package (sys:%find-package "COMMON-LISP-USER") "CL-USER")
 
-;        (cl:setq *package* (sys:%find-package "CL-USER"))
-;        (sys:%use-package (sys:%find-package "CL-USER")
-;                        (sys:%find-package "COMMON-LISP"))
+(cl:setq *package* (sys:%find-package "CL-USER"))
+(sys:%use-package (sys:%find-package "CL-USER")
+                 (sys:%find-package "COMMON-LISP"))
 
 ;        (in-package "COMMON-LISP-USER")

Modified: trunk/languages/lisp/read.pir
==============================================================================
--- trunk/languages/lisp/read.pir       (original)
+++ trunk/languages/lisp/read.pir       Mon Jun  4 11:59:15 2007
@@ -186,7 +186,6 @@
   .local pmc stream
   .local pmc symbol
   .local pmc tretv
-  .local pmc ntretv
   .local pmc retv
   .local pmc lptr
   .local int ordv
@@ -266,11 +265,13 @@
   .STRING(mchar, char)
   .LIST_2(margs, istream, mchar)           # Create a list of args to pass in
 
+   null tretv
    tretv = _FUNCTION_CALL(macro, margs)   # Call the readmacro
+   if_null tretv, LOOP
 
    # VALID_IN_PARROT_0_2_0 if argcP == 0 goto LOOP                # If macro 
is NULL, start loop again
-   ntretv = tretv
-   if ntretv == 0 goto LOOP               # If macro is NULL, start loop again
+   # VALID_IN_PARROT_0_2_0 ntretv = tretv
+   # VALID_IN_PARROT_0_2_0 if ntretv == 0 goto LOOP               # If macro 
is NULL, start loop again
    goto APPEND_TO_LIST                    # else add the return value to list
 
 DELIMIT_CHAR:                             # We've hit the delimter char -

Reply via email to