emacs-devel
[Top][All Lists]
Advanced

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

Re: Dynamic loading progress


From: Daniel Colascione
Subject: Re: Dynamic loading progress
Date: Mon, 28 Sep 2015 12:28:57 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

On 09/28/2015 08:25 AM, Philipp Stephani wrote:
> 
> 
> Stefan Monnier <address@hidden
> <mailto:address@hidden>> schrieb am Di., 15. Sep. 2015 um
> 02:55 Uhr:
> 
>     Just, FWIW we can keep talking about it, but my opinion is quite firmly
>     made.  I want the first API to provide access to the "naked" primitives
>     with no condition-case wrapping.
> 
> 
> This is wrong and dangerous. It makes dynamic loading far less useful
> than it could be. Essentially modules e.g. written in C++ will have to
> consist of a small C shim that makes IPC calls to some out-of-process
> server.

While I agree that making non-local exits part of the public API is a
titanic footgun and a mistake we'll regret for decades, it's not the
case that it forces non-C modules to use IPC shims. Emacs non-local
unwinding stops at the first matching condition_case on the stack, so as
long there's a condition-case frame between a stack frame that can't be
unwound with longjmp (say, one with C++ destructors) and the Emacs core,
the program will work correctly if Emacs longjmps.

Non-local returns are awful, yes, but they do not make it impossible to
integrate non-C languages with Emacs.

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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