dynwind is now a part of guile's primitive language
authorAndy Wingo <wingo@pobox.com>
Tue, 16 Feb 2010 22:01:09 +0000 (23:01 +0100)
committerAndy Wingo <wingo@pobox.com>
Thu, 18 Feb 2010 21:12:55 +0000 (22:12 +0100)
commitd69531e21326dbec935da6ead29335f2cccf1a3f
tree5a64b8d80a97377212b408f91eb247db9af37aed
parentac1ef09bfee23177052aa157f8cb049ae8dbd64e
dynwind is now a part of guile's primitive language

* libguile/memoize.h (scm_sym_at_dynamic_wind, SCM_M_DYNWIND)
* libguile/memoize.c (memoized_tags, MAKMEMO_DYNWIND)
  (scm_m_at_dynamic_wind, unmemoize): Add dynwind as a primitive
  expression type.

* libguile/dynwind.c (scm_dynamic_wind): Downgrade to a normal C
  function.

* libguile/eval.c (eval):
* module/ice-9/eval.scm (primitive-eval): Add dynwind support.

* module/ice-9/r4rs.scm: More relevant docs.
  (apply): Define in a more regular way.
  (dynamic-wind): Add to this file, with docs, dispatching to
  @dynamic-wind.

* module/language/tree-il/primitives.scm: Parse @dynamic-wind into a
  tree-il dynamic-wind.
libguile/dynwind.c
libguile/eval.c
libguile/memoize.c
libguile/memoize.h
module/ice-9/eval.scm
module/ice-9/r4rs.scm
module/language/tree-il.scm
module/language/tree-il/primitives.scm