summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2001-04-19 15:20:27 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2001-04-19 15:20:27 +0000
commit4daecfeecc06bbd90d1e96b3eb58a7e4eeefd3a0 (patch)
treed9203bc6772690973c69f96e3a145c690ac6006a
parent726d810a75c140442032ddb1daa6422a104e272f (diff)
downloadguile-4daecfeecc06bbd90d1e96b3eb58a7e4eeefd3a0.tar.gz
* Some simplification, basically a postscriptum to the previous patch.
-rw-r--r--libguile/ChangeLog5
-rw-r--r--libguile/debug.c17
2 files changed, 13 insertions, 9 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index 6d725d8c9..d8cff0871 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,5 +1,10 @@
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.
* debug.c (scm_procedure_source), eval.c (scm_badformalsp,
diff --git a/libguile/debug.c b/libguile/debug.c
index 20fa8d7c6..42981bfe7 100644
--- a/libguile/debug.c
+++ b/libguile/debug.c
@@ -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