* eval.h (SCM_EVALIM2): New macro. Use it when a
authorMarius Vollmer <mvo@zagadka.de>
Sat, 3 Mar 2001 15:10:37 +0000 (15:10 +0000)
committerMarius Vollmer <mvo@zagadka.de>
Sat, 3 Mar 2001 15:10:37 +0000 (15:10 +0000)
commit5280aacabcc96b4178a8c0b02226fa5665324339
tree4a3ecb25ae07b330dcdcbfa49bd768523f8a9b7d
parentbf4aaed27ca93adc575e9f6f2647ecb4dd3e4f45
* eval.h (SCM_EVALIM2): New macro.  Use it when a
immediate, literal constant should be evaluated.
* eval.c (scm_s_duplicate_formals): New error message string.
(scm_c_improper_memq): New function.
(scm_m_lambda): Check for duplicate arguments.
(scm_ceval, scm_deval): When executing a body: only cons a new
toplevel environment frame when it is different from the
existing one; use EVALCAR instead of SIDEVAL so that we can properly
check for empty combinations; use SCM_EVALIM2 for the same reason
in the non-toplevel loop.
(nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
New labels with the meaning of their non-"nontoplevel" partners,
but they are used when it is known that the body is not evaluated at
top-level.
(scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
reporting for empty combinations.
libguile/eval.c
libguile/eval.h