emacs-devel
[Top][All Lists]
Advanced

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

Re: Dynamic loading progress


From: David Kastrup
Subject: Re: Dynamic loading progress
Date: Tue, 29 Sep 2015 11:11:36 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

"Stephen J. Turnbull" <address@hidden> writes:

> Philipp Stephani writes:
>
>  > > using various unwind-protect constructs.
>  > 
>  > It is not possible to write such constructs in general. Stack
>  > frames that don't originate from C programs simply can't be part of
>  > a non-local jump.  unwind-protect doesn't help at all because it
>  > doesn't stop non-local jumps.
>
> Er, what does "stop non-local jumps"?  What Emacs can do is catch its
> own non-local jumps so as not to orphan non-Emacs stack frames.  It
> can't catch (or prevent!) anybody else's.

Oh, it could provide its own versions of setjmp/longjmp overriding the C
library ones.  That would actually put the hooks into quite a few
non-local jump implementations.  The downside being that Emacs would
need to provide binary-compatible setjmp/longjmp implementations for all
platforms it supports.  Or some trickery for getting at the library ones
without others seeing them.  And nobody else trying similar trickery.

So while it stinks like trouble all over, "can't" is too strong a
qualifier.

-- 
David Kastrup



reply via email to

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