Okay, so I have what I need, in the sense that I can write an alternative function that gets called during 'trace', as seen in attached "trace.scm"
Here, however, are things I don't get:
1) in adition to proc & args, can I also get the current stack frame?
2) looking at "broken.scm" and "works.scm" -- I just copied/pasted the make-default-entry-hook from lib/_repl.scm -- why does one of them work for tracing and the other does not?
Thanks!
I won't spoil your fun... in only 40 minutes you've learned a lot about Gambit! I'll give you the answer tomorrow night if you can't solve it yourself...
On 20-Feb-09, at 11:44 PM, lowly coder wrote:
So I'm looking more in lib/_repl.scm, in particular at:
(define-prim (##interp-procedure-default-entry-hook proc)
(let ((hook (##interp-procedure-entry-hook proc)))
(if (and hook
(##closure? hook)
(##eq? (##subprocedure-parent (##closure-code hook))
##make-default-entry-hook))
hook
#f)))
and I'm wondering two things:
1) in trace, where is the pp / display / write
2) after the proc is setup by ##interp-procedure-default-entry-hook, where in the interpreter is proc called?
Marc