* libguile/eval.c (s_duplicate_binding): New static identifier.
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Sun, 12 Oct 2003 12:58:51 +0000 (12:58 +0000)
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Sun, 12 Oct 2003 12:58:51 +0000 (12:58 +0000)
commit4610b011a7cca6483ac8bd2f20c98170acb5f012
tree41e203555df9553ab11601e71c3dc9b356941fed
parenta954ce1d25e45b65f36dda4b0ada263889e62d11
* libguile/eval.c (s_duplicate_binding): New static identifier.

(scm_m_case): Call scm_c_memq instead of implementing it inline.

(scm_m_define): Added comment about how we check for duplicate
formals.

(scm_m_do): Added check for duplicate bindings.

(scm_m_if): Use ASSERT_SYNTAX to signal syntax errors.  Avoid
unnecessary consing when creating the memoized code.

(scm_c_improper_memq, c_improper_memq, scm_m_lambda): Renamed
scm_c_improper_memq to c_improper_memq, since it is not exported.

(transform_bindings): Call scm_c_memq rather than
scm_c_improper_memq.

(SCM_CEVAL): Simplified handling of SCM_IM_IF forms.

* test-suite/tests/syntax.test (exception:missing/extra-expr-syntax):
        New, introduced temporarily until all memoizers use the new way of
error reporting.

Adapted tests for 'if' to the new way of error reporting.
libguile/ChangeLog
libguile/eval.c
test-suite/ChangeLog
test-suite/tests/syntax.test