make_class_object; exported; error checking moved to
scm_make_class_object and scm_make_subclass_object.
(scm_make_class_object, scm_make_subclass_object): Use
scm_i_make_class_object.
(scm_make_subclass_object): Let the subclass have same metaclass
as the superclass.
first body form of the apply closure.
(display_error_body): Prevent the source of the first form of the
apply closure from being printed in error messages.
don't contain interesting information since all arguments are
present in the frame which applies the compiled closure anyway.);
Skip the transformer application frames.
that we can identify these in a backtrace. (This change doesn't
introduce any significant speed penalty.)
* eval.c: Added note about `serial-map' using scm_map.
(scm_memq, scm_memv, scm_member): Do argument checking *before*
starting to search the list. Removed call to sloppy_mem_check.
* list.c, list.h (scm_delq1_x, scm_delv1_x, scm_delete1_x): New
procedures: Same as scm_delq_x et al, but delete maximally one
element.
having to do with evaluation.
* evalext.c (serial-map): New procedure: Version of `map' which
guarantees that the procedure is applied to the lists in serial
order.
(sequence->list): New syntax: Version of `begin' which returns a
list of the results of the body forms instead of the result of the
last body form.
(scm_definedp, scm_m_undefine): Moved from eval.c
* evalext.h (scm_m_sequence_to_list): Added declaration.
* Makefile.am: Added evalext.c, evalext.h, macros.c, macros.h.
scm_s_bindings, scm_s_variable, scm_s_clauses, scm_s_formals):
Renamed and made global.
* eval.c, eval.h (SCM_EVALIM): Renamed from EVALIM.
(SCM_XEVAL, SCM_XEVALCAR): Renamed from XEVAL, XEVALCAR.
* evalext.c (serial-map): New procedure: Version of `map' which
guarantees that the procedure is applied to the lists in serial
order.
(sequence->list): New syntax: Version of `begin' which returns a
list of the results of the body forms instead of the result of the
last body form.
(scm_definedp, scm_m_undefine): Moved from eval.c
* macros.c, macros.h: New files.
(procedure->syntax, procedure->macro, procedure->memoizing-macro,
macro?, macro-type, macro-name, macro-transformer): Moved from
eval.c
(scm_make_synt): Moved from eval.c
* procs.c, procs.h (procedure-documentation): Moved from eval.c.