emacs-devel
[Top][All Lists]
Advanced

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

Re: Dynamic loading progress


From: Stefan Monnier
Subject: Re: Dynamic loading progress
Date: Wed, 30 Sep 2015 04:52:30 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

BTW, all this discussion about C++ modules seems to miss the point:
Emacs's own API will be a C API.  When you want to use it from a C++
module, you'll have to convert it to a C++ API.  At that point, you
have various options:

- do a minimalist binding which keeps using naked longjmp, and just
  let the C++ code use explicit internal_condition_case wrappers where
  it thinks it's needed.
- do an "idiot-proof" binding which only provides a "safe_funcall" which
  catches longjmps and turns them into local exits.
- do an "idiot-resistant" binding which only provides a "safe_funcall" that
  catches longjmps and turns them into C++ exceptions, and then back
  into Elisp longjmps (and back-and-forth ad nauseum if needed when
  doing nested mutual callbacks).
- ...younameit...

I'm fine with any of those things, and AFAIK they can all be done on top
of the plain C API with the usual non-local exits.
All I care about at this point is the plain C API.


        Stefan



reply via email to

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