bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guile 2.0.0 crash related to call-with-prompt/abort-to-prompt, & mor


From: Andy Wingo
Subject: Re: guile 2.0.0 crash related to call-with-prompt/abort-to-prompt, & more
Date: Mon, 14 Mar 2011 21:51:03 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Hi Wolfgang,

On Wed 09 Mar 2011 11:53, Wolfgang J Moeller <address@hidden> writes:

> I observe a segfault when done loading a particular compiled file.
> No such error in interpreted mode.

I'm working on this one still, and it's quite perplexing.

The example can be quite short:

    (define-syntax reset
      (syntax-rules ()
        ((_ . body)
         (call-with-prompt 'Reset
                           (lambda () . body)
                           (lambda (cont f) (f cont))))))
    (define-syntax shift
      (syntax-rules ()
        ((_ var . body)
         (abort-to-prompt 'Reset
                          (lambda (cont)
                            ((lambda (var) (reset . body))
                             (lambda vals (reset (apply cont vals)))))))))

    (define (shift* fc)
      (shift c (fc c)))

    (reset (display ((shift* shift*) 'foo)))

It seems to be that somehow this corrupts the wind list, unwinding one
dynamic frame too far, and thus causing errors later.

In any case, thanks again for this little chestnut :)

Andy
-- 
http://wingolog.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]