GNU bug report logs - #20938
make-dynamic-state, with-dynamic-state & exceptions

Previous Next

Package: guile;

Reported by: Josep Portella Florit <jpf <at> primfilat.com>

Date: Tue, 30 Jun 2015 13:51:03 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Josep Portella Florit <jpf <at> primfilat.com>
To: bug-guile <at> gnu.org
Subject: make-dynamic-state, with-dynamic-state & exceptions
Date: Tue, 30 Jun 2015 15:50:30 +0200
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))))))




This bug report was last modified 8 years and 135 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.