diff options
author | Andy Wingo <wingo@pobox.com> | 2010-02-18 12:28:37 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-02-18 22:15:43 +0100 |
commit | b5e9f3f97ebad910b932736f7b65bbf98083dd49 (patch) | |
tree | 6b16235e31bbddf0f24045f5b5712d96532db10f /libguile/memoize.c | |
parent | 21ec0bd9077b2fc109f1f425462eca37ef4a34e1 (diff) | |
download | guile-b5e9f3f97ebad910b932736f7b65bbf98083dd49.tar.gz |
memoize (begin foo) to foo
* libguile/memoize.c (memoize_sequence): Don't make a `begin' if there's
only one form.
Diffstat (limited to 'libguile/memoize.c')
-rw-r--r-- | libguile/memoize.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libguile/memoize.c b/libguile/memoize.c index 0e2571d5c..d209a86b8 100644 --- a/libguile/memoize.c +++ b/libguile/memoize.c @@ -378,7 +378,10 @@ memoize_sequence (const SCM forms, const SCM env) { ASSERT_SYNTAX (scm_ilength (forms) >= 1, s_bad_expression, scm_cons (scm_sym_begin, forms)); - return MAKMEMO_BEGIN (memoize_exprs (forms, env)); + if (scm_is_null (CDR (forms))) + return memoize (CAR (forms), env); + else + return MAKMEMO_BEGIN (memoize_exprs (forms, env)); } |