Neil Jerram wrote:
Scott G. Miller wrote:

But beyond that, try running http://sisc.sf.net/r5rs_pitfall.scm on Guile. At least on 1.6.7 it
still has problems. Maybe 1.8 will be better.

Yes, I see. But 1.8 will indeed be better; the current CVS only has problems with
- 1.1 - for which I have a candidate fix

Is this a good fix for r5rs_pitfall 1.1? The possible issue that I can see is performance, but I think it's unlikely that a letrec will have enough bindings, or with deep enough structure in the <inits>, for this to become significant.


RCS file: /cvsroot/guile/guile/guile-core/libguile/eval.c,v
retrieving revision 1.394
diff -u -r1.394 eval.c
--- eval.c      30 Mar 2005 18:43:49 -0000      1.394
+++ eval.c      20 Apr 2005 19:04:15 -0000
@@ -3570,7 +3570,7 @@
                 init_forms = SCM_CDR (init_forms);
               }
             while (!scm_is_null (init_forms));
-            SCM_SETCDR (SCM_CAR (env), init_values);
+            SCM_SETCDR (SCM_CAR (env), scm_copy_tree (init_values));
           }
           x = SCM_CDR (x);
           PREP_APPLY (SCM_UNDEFINED, SCM_EOL);

Regards,
        Neil


_______________________________________________ Guile-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to