Next: Examples of option use, Previous: Evaluator options, Up: Options and Config
[FIXME: These flags, together with their corresponding handlers, are not user level options. Probably this entire section should be moved to the documentation about the low-level programmer debugging interface.]
Here is the list of evaluator trap options generated by typing
(traps 'full) in Guile. You can also see the default values.
exit-frame no Trap when exiting eval or apply.
apply-frame no Trap when entering apply.
enter-frame no Trap when eval enters new frame.
traps yes Enable evaluator traps.
There are three variables that customize evaluator trap handling,
enter-frame-handler, apply-frame-handler, and
exit-frame-handler. Normally they are set to the procedure
default-lazy-handler.
[docs somewhat missing: enter-frame-handler]
Called when a procedure is being applied.
Called if:
- evaluator traps are enabled [traps interface], and
- either
apply-frameis enabled [traps interface], or- trace mode is on [debug-options interface], and the procedure being called has the trace property enabled.
If cheap traps are enabled [debug-options interface], cont is a debug object, otherwise it is a restartable continuation.
tailp is true if this is a tail call
Called when a value is returned from a procedure.
Called if:
- evaluator traps are enabled [traps interface], and
- either
exit-frameis enabled [traps interface], or- trace mode is on [debug-options interface], and the procedure being called has the trace property enabled.
If cheap traps are enabled [debug-options interface], cont is a debug object, otherwise it is a restartable continuation.
retval is the return value.