--- Begin Message ---
Subject: |
make-dynamic-state, with-dynamic-state & exceptions |
Date: |
Tue, 30 Jun 2015 15:50:30 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.6.0 |
This code crashes Guile 2.0.11:
(define x (make-dynamic-state))
(with-dynamic-state x (lambda () (/ 1 0)))
For now I'm using this workaround:
(let ((w-d-s with-dynamic-state))
(set! with-dynamic-state
(lambda (s p)
(let ((e #f))
(w-d-s s (lambda ()
(catch #t p
(lambda x (set! e x)))))
(when e (apply throw e))))))
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#20938: make-dynamic-state, with-dynamic-state & exceptions |
Date: |
Tue, 28 Feb 2017 15:17:29 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
On Tue 30 Jun 2015 15:50, Josep Portella Florit <address@hidden> writes:
> This code crashes Guile 2.0.11:
>
> (define x (make-dynamic-state))
> (with-dynamic-state x (lambda () (/ 1 0)))
Sad :/ Fixed in 2.2 though, finally. I don't really know how to fix it
in 2.0 though. Marking as closed given that we will have a shiny new
2.2.0 soon.
Andy
--- End Message ---