Guile 2.0.13:
scheme@(guile-user)> (define (foo n)
(if (= n 0)
'done
(foo (1- n))))
scheme@(guile-user)> ,tracepoint foo
Trap 0: Tracepoint at #<procedure foo (n)>.
scheme@(guile-user)> (foo 5)
Trap 0: (foo 5)
Trap 0: | (foo 4)
Trap 0: | | (foo 3)
Trap 0: | | | (foo 2)
Trap 0: | | | | (foo 1)
Trap 0: | | | | | (foo 0)
Trap 0: | | | | | done
Trap 0: | | | | done
Trap 0: | | | done
Trap 0: | | done
Trap 0: | done
Trap 0: done
$2 = done
scheme@(guile-user)>
Guile 2.1.5 (via guile-next in guix):
scheme@(guile-user)> (define (foo n)
(if (= n 0)
'done
(foo (1- n))))
... ... ... scheme@(guile-user)>
scheme@(guile-user)> ,tracepoint foo
Trap 0: Tracepoint at #<procedure foo (n)>.
scheme@(guile-user)> (foo 30)
$1 = done
Likewise, ,break and etc do not work for me.