HCoop
/
bpt
/
guile.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
primitive-eval takes expanded, not memoized, source
[bpt/guile.git]
/
libguile
/
eval.c
diff --git
a/libguile/eval.c
b/libguile/eval.c
index
63808c6
..
752ba2c
100644
(file)
--- a/
libguile/eval.c
+++ b/
libguile/eval.c
@@
-37,6
+37,7
@@
#include "libguile/deprecation.h"
#include "libguile/dynwind.h"
#include "libguile/eq.h"
#include "libguile/deprecation.h"
#include "libguile/dynwind.h"
#include "libguile/eq.h"
+#include "libguile/expand.h"
#include "libguile/feature.h"
#include "libguile/fluids.h"
#include "libguile/goops.h"
#include "libguile/feature.h"
#include "libguile/fluids.h"
#include "libguile/goops.h"
@@
-832,13
+833,9
@@
scm_for_each (SCM proc, SCM arg1, SCM args)
static SCM
scm_c_primitive_eval (SCM exp)
{
static SCM
scm_c_primitive_eval (SCM exp)
{
- if (!SCM_
MEMOIZ
ED_P (exp))
+ if (!SCM_
EXPAND
ED_P (exp))
exp = scm_call_1 (scm_current_module_transformer (), exp);
exp = scm_call_1 (scm_current_module_transformer (), exp);
- if (!SCM_MEMOIZED_P (exp))
- scm_misc_error ("primitive-eval",
- "expander did not return a memoized expression",
- scm_list_1 (exp));
- return eval (exp, SCM_EOL);
+ return eval (scm_memoize_expression (exp), SCM_EOL);
}
static SCM var_primitive_eval;
}
static SCM var_primitive_eval;