* eval.c (scm_m_letstar): Removed check for duplicate bindings.

Duplicate bindings are OK in a let* since a let* is semantically
equivalent to a nested set of let:s.
This commit is contained in:
Mikael Djurfeldt 2001-03-05 18:54:55 +00:00
commit 586d7da237
2 changed files with 6 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2001-03-05 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
* eval.c (scm_m_letstar): Removed check for duplicate bindings.
Duplicate bindings are OK in a let* since a let* is semantically
equivalent to a nested set of let:s.
2001-03-05 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
* print.c (scm_print_options): Fixed texinfo in docstring.

View file

@ -712,8 +712,6 @@ scm_m_letstar (SCM xorig, SCM env)
arg1 = SCM_CAR (proc);
SCM_ASSYNT (2 == scm_ilength (arg1), xorig, scm_s_bindings, s_letstar);
SCM_ASSYNT (SCM_SYMBOLP (SCM_CAR (arg1)), xorig, scm_s_variable, s_letstar);
if (scm_c_improper_memq (SCM_CAR (arg1), vars))
scm_misc_error (s_letstar, scm_s_duplicate_bindings, SCM_EOL);
*varloc = scm_cons2 (SCM_CAR (arg1), SCM_CAR (SCM_CDR (arg1)), SCM_EOL);
varloc = SCM_CDRLOC (SCM_CDR (*varloc));
proc = SCM_CDR (proc);