summaryrefslogtreecommitdiff
path: root/libguile/debug.c
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 /libguile/debug.c
parent726d810a75c140442032ddb1daa6422a104e272f (diff)
downloadguile-4daecfeecc06bbd90d1e96b3eb58a7e4eeefd3a0.tar.gz
* Some simplification, basically a postscriptum to the previous patch.
Diffstat (limited to 'libguile/debug.c')
-rw-r--r--libguile/debug.c17
1 files changed, 8 insertions, 9 deletions
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