* Some simplification, basically a postscriptum to the previous patch.
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Thu, 19 Apr 2001 15:20:27 +0000 (15:20 +0000)
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Thu, 19 Apr 2001 15:20:27 +0000 (15:20 +0000)
libguile/ChangeLog
libguile/debug.c

index 6d725d8..d8cff08 100644 (file)
@@ -1,3 +1,8 @@
+2001-04-19  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * debug.c (scm_procedure_source):  Use SCM_CLOSURE_FORMALS more
+       consistently.
+
 2001-04-19  Dirk Herrmann  <D.Herrmann@tu-bs.de>
 
        * procs.h (SCM_CLOSURE_FORMALS):  New macro.
index 20fa8d7..42981bf 100644 (file)
@@ -426,16 +426,15 @@ SCM_DEFINE (scm_procedure_source, "procedure-source", 1, 0, 0,
   switch (SCM_TYP7 (proc)) {
   case scm_tcs_closures:
     {
-      SCM src;
-      src = scm_source_property (SCM_CDR (SCM_CODE (proc)), scm_sym_copy);
-      if (! SCM_FALSEP (src))
-       return scm_cons2 (scm_sym_lambda, SCM_CLOSURE_FORMALS (proc), src);
-      src = SCM_CODE (proc);
+      SCM formals = SCM_CLOSURE_FORMALS (proc);
+      SCM src = scm_source_property (SCM_CDR (SCM_CODE (proc)), scm_sym_copy);
+      if (!SCM_FALSEP (src))
+       return scm_cons2 (scm_sym_lambda, formals, src);
       return scm_cons (scm_sym_lambda,
-                      scm_unmemocopy (src,
-                                      SCM_EXTEND_ENV (SCM_CAR (src),
-                                                          SCM_EOL,
-                                                          SCM_ENV (proc))));
+                      scm_unmemocopy (SCM_CODE (proc),
+                                      SCM_EXTEND_ENV (formals,
+                                                      SCM_EOL,
+                                                      SCM_ENV (proc))));
     }
   case scm_tcs_subrs:
 #ifdef CCLO