diff options
author | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2001-04-19 15:20:27 +0000 |
---|---|---|
committer | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2001-04-19 15:20:27 +0000 |
commit | 4daecfeecc06bbd90d1e96b3eb58a7e4eeefd3a0 (patch) | |
tree | d9203bc6772690973c69f96e3a145c690ac6006a | |
parent | 726d810a75c140442032ddb1daa6422a104e272f (diff) | |
download | guile-4daecfeecc06bbd90d1e96b3eb58a7e4eeefd3a0.tar.gz |
* Some simplification, basically a postscriptum to the previous patch.
-rw-r--r-- | libguile/ChangeLog | 5 | ||||
-rw-r--r-- | libguile/debug.c | 17 |
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 |