From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Mon, 28 Sep 2015 12:28:57 -0700 Message-ID: <560994F9.3030100@dancol.org> References: <55DB7C3D.4090106@cs.ucla.edu> <55DE75FD.8020308@cs.ucla.edu> <55F5DD8C.70506@dancol.org> <55F62C16.4000105@dancol.org> <55F64F04.9030002@dancol.org> <55F6E43E.9030502@dancol.org> <55F70C4E.8030805@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="qnuKu93ETFTduN85feBKwNqcoTFneXM4N" X-Trace: ger.gmane.org 1443488883 759 80.91.229.3 (29 Sep 2015 01:08:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 29 Sep 2015 01:08:03 +0000 (UTC) Cc: =?UTF-8?Q?Aur=c3=a9lien_Aptel?= , Stephen Leake , Paul Eggert , Tom Tromey , Emacs development discussions To: Philipp Stephani , Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 29 03:07:55 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZgjOd-0005S9-FA for ged-emacs-devel@m.gmane.org; Tue, 29 Sep 2015 03:07:55 +0200 Original-Received: from localhost ([::1]:43450 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgjOc-0005az-AN for ged-emacs-devel@m.gmane.org; Mon, 28 Sep 2015 21:07:54 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44637) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zge74-0001Mv-Ue for emacs-devel@gnu.org; Mon, 28 Sep 2015 15:29:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zge70-0001jo-Q2 for emacs-devel@gnu.org; Mon, 28 Sep 2015 15:29:26 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:34927) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zge70-0001ho-G9 for emacs-devel@gnu.org; Mon, 28 Sep 2015 15:29:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:Cc:References:To:Subject; bh=k6fSofM6FhR7IGREdrUH5F7BTkrfd/bYDFnI3j1WfwE=; b=iVzhJ9Wt07I8PpVj8NU7fX5ve/ixlXTpcEKjZ/PqOa5R/v90Hdm8Vjj3kzcVJZyJ+2ZTG68zyqXMIEbwbvCo9wNcLRCCGjc+Y1UcTwH9YRjrKhUFqeLbsWdklpo4iw2K8X8MUwupDqBRGXlxT3WiNkyMKN6K1NbF/Ac3Jqrst8Fcb4d559F2qfBxUQbQenzqyjFQjFr3pgwPKYv1csNfQZSj1rya3Uyn5YJCHSLVaLuXDXsWaCx/j81WvPe3DuhYi5UMQYgyepWk68z5P1oI6rPFPJcKucDiYc2NpfC/Q1+bqNWCp8dC9PyY0VbNRWNMn7gUzh2DsmYIKhfGogJ10A==; Original-Received: from c-24-16-208-239.hsd1.wa.comcast.net ([24.16.208.239] helo=[192.168.1.210]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1Zge6g-00064B-W6; Mon, 28 Sep 2015 12:29:03 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:190457 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --qnuKu93ETFTduN85feBKwNqcoTFneXM4N Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/28/2015 08:25 AM, Philipp Stephani wrote: >=20 >=20 > Stefan Monnier > schrieb am Di., 15. Sep. 2015 um > 02:55 Uhr: >=20 > Just, FWIW we can keep talking about it, but my opinion is quite fi= rmly > made. I want the first API to provide access to the "naked" primit= ives > with no condition-case wrapping. >=20 >=20 > 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. --qnuKu93ETFTduN85feBKwNqcoTFneXM4N Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJWCZT6AAoJEN4WImmbpWBlq5IP/Ro68u+dUlhsWui1e7o4OHGa m3IX3alA4LQdMAYahF0ax4lGiQLg8y8CHS75sIco2M4TuFmSsjG5MADMTyZL8ezX 81i1EHYzWt9Vnr/eYNGydmyUEzygBUJ4416v5DHyjMSAY21Iu0GdRs/JdrnCqhFW uYs9E9qigPO26lKlXZ3VYYzREokypeWgnqIrvbsXvXb6Xafpu7i9olaTW+pXk/2U pMrHkrRPm/MeDW2B8SrpyNqgaxJKCeWOe8UjKsxt0gKRoK4JlXtxLLXdUTnBVioq RWHtNp0S1AbTDX+/BynlU7d1S2xWbohbLxK6vcroHl1oSgcNZQvyaM2PY2Ekg3a4 XPb8HJAbMpDs6NKBF2x4KDY38+dM9eMWSg0ssXBZwGQERhLBCRSCKldslZoDgJkk 1GIQgalk7TG9IObP0afIebtfZZoguoZZKeyVXJjn9FNleWfzyISolul7Mnlf4b8q T+nnEtb0b9a6tq9WGQyZIY55c6omwYzFaI4rGmPPefhQTTItKBs0rG8HZ0cBGtwD PhUmUT4VzaNVGwsb142+FX9K2b6dO/RoaqF2vpcqe3fl8BRRag43PNpMnLiAiRbv FADS0K2uw/42sH53Yn+xN/NMK5ZeeUcXh2iQf6RYPiyJdwn3EVuitRMCGzrknjj9 5B22YBV73AN8skx0kS8B =sSjn -----END PGP SIGNATURE----- --qnuKu93ETFTduN85feBKwNqcoTFneXM4N--