mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-06 12:10:28 +02:00
* boot-9.scm (before-signal-stack): New fluid.
(top-repl): Set before-signal-stack in the signal handler.
This commit is contained in:
parent
4c59297c68
commit
8087b6be5a
1 changed files with 4 additions and 0 deletions
|
@ -2543,6 +2543,7 @@
|
||||||
(loop (lambda () #t))))
|
(loop (lambda () #t))))
|
||||||
|
|
||||||
;;(define the-last-stack (make-fluid)) Defined by scm_init_backtrace ()
|
;;(define the-last-stack (make-fluid)) Defined by scm_init_backtrace ()
|
||||||
|
(define before-signal-stack (make-fluid))
|
||||||
(define stack-saved? #f)
|
(define stack-saved? #f)
|
||||||
|
|
||||||
(define (save-stack . narrowing)
|
(define (save-stack . narrowing)
|
||||||
|
@ -3009,6 +3010,9 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(let ((make-handler (lambda (msg)
|
(let ((make-handler (lambda (msg)
|
||||||
(lambda (sig)
|
(lambda (sig)
|
||||||
|
;; Make a backup copy of the stack
|
||||||
|
(fluid-set! before-signal-stack
|
||||||
|
(fluid-ref the-last-stack))
|
||||||
(save-stack %deliver-signals)
|
(save-stack %deliver-signals)
|
||||||
(scm-error 'signal
|
(scm-error 'signal
|
||||||
#f
|
#f
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue