pop-continuation abort-continuation hooks pass return vals directly
authorAndy Wingo <wingo@pobox.com>
Thu, 23 May 2013 13:07:37 +0000 (15:07 +0200)
committerAndy Wingo <wingo@pobox.com>
Mon, 27 May 2013 05:13:13 +0000 (07:13 +0200)
commitc850a0ff4d0073364612ff5785bda8217ea9ae7f
tree82d3ce7de2f7eee2f0940eb72b502d2038ab1569
parent27319ffaa90dc5789843d8b80842b9a6d36120e1
pop-continuation abort-continuation hooks pass return vals directly

* doc/ref/api-debug.texi (VM Hooks): Update documentation.

* libguile/vm.c (vm_dispatch_hook):
* libguile/vm-engine.c:  Rework the hook machinery so that they can
  receive an arbitrary number of arguments.  The return and abort
  hooks will pass the values that they return to their continuations.
  (vm_engine): Adapt to ABORT_CONTINUATION_HOOK change.

* libguile/vm-i-system.c (return, return/values): Adapt to
  POP_CONTINUATION_HOOK change.

* module/system/vm/frame.scm (frame-return-values): Remove.  The
  pop-continuation-hook will pass the values directly.

* module/system/vm/trace.scm (print-return):
  (trace-calls-to-procedure):
  (trace-calls-in-procedure): Update to receive return values
  directly.

* module/system/vm/traps.scm (trap-in-procedure)
  (trap-in-dynamic-extent): Ignore return values.
  (trap-frame-finish, trap-calls-in-dynamic-extent)
  (trap-calls-to-procedure): Pass return values to the handlers.
doc/ref/api-debug.texi
libguile/vm-engine.c
libguile/vm-i-system.c
libguile/vm.c
module/system/repl/command.scm
module/system/vm/frame.scm
module/system/vm/trace.scm
module/system/vm/traps.scm