1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-28 07:50:20 +02:00

Narrow one more frame in debug.scm:debug-pre-unwind-handler

* module/system/vm/debug.scm (debug-pre-unwind-handler): Narrow two
  frames instead of stack-reffing past one. The second frame is
  necessary, now that make-stack itself is on the stack.
This commit is contained in:
Andy Wingo 2010-01-09 20:40:36 +01:00
parent 391d29029d
commit 37e9bc8ae4

View file

@ -367,7 +367,7 @@ With an argument, select a frame by index, then show it."
;; (state associated with vm ?)
(define (debug-pre-unwind-handler key . args)
(let ((stack (make-stack #t)))
(let ((stack (make-stack #t debug-pre-unwind-handler)))
(pmatch args
((,subr ,msg ,args . ,rest)
(format #t "Throw to key `~a':\n" key)
@ -375,6 +375,6 @@ With an argument, select a frame by index, then show it."
(else
(format #t "Throw to key `~a' with args `~s'." key args)))
(format #t "Entering the debugger. Type `bt' for a backtrace or `c' to continue.\n")
(run-debugger (stack-ref stack 1)))
(save-stack 1)
(run-debugger (stack-ref stack 0)))
(save-stack debug-pre-unwind-handler)
(apply throw key args))