diff options
author | Marius Vollmer <mvo@zagadka.de> | 2003-11-17 16:52:05 +0000 |
---|---|---|
committer | Marius Vollmer <mvo@zagadka.de> | 2003-11-17 16:52:05 +0000 |
commit | 6d1a2e9f4b676011b029505c602f523bd1aeb64e (patch) | |
tree | c7f6e8765ca9bf66c945e87c86c2a668e2844597 /libguile/eval.c | |
parent | aff7e166e8a11a5a014e3de757a6b8060d0dba09 (diff) | |
download | guile-6d1a2e9f4b676011b029505c602f523bd1aeb64e.tar.gz |
(scm_m_generalized_set_x): Macroexpand the target when it
is a list. This allows (@ ...) to work with set!.
(scm_m_generalized_set_x): Use ASSERT_SYNTAX_2 instead of
SCM_ASSYNT.
Diffstat (limited to 'libguile/eval.c')
-rw-r--r-- | libguile/eval.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/eval.c b/libguile/eval.c index c8a534501..d6135b407 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -1958,8 +1958,9 @@ scm_m_generalized_set_x (SCM expr, SCM env) && SCM_NULLP (SCM_CDDR (exp_target))) { exp_target= SCM_CADR (exp_target); - SCM_ASSYNT (SCM_SYMBOLP (exp_target) || SCM_VARIABLEP (exp_target), - s_bad_variable, s_set_x); + ASSERT_SYNTAX_2 (SCM_SYMBOLP (exp_target) + || SCM_VARIABLEP (exp_target), + s_bad_variable, exp_target, expr); return scm_cons (SCM_IM_SET_X, scm_cons (exp_target, SCM_CDR (cdr_expr))); } |