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 modules: emacs-module.c and signaling errors Date: Tue, 24 Nov 2015 13:55:40 -0800 Message-ID: <5654DCDC.3090200@dancol.org> References: <83k2p7xk13.fsf@gnu.org> <87wpt7p369.fsf@tromey.com> <83d1uzxgvw.fsf@gnu.org> <5654D7CF.90001@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="jBdMVlgMbNowrfBXSdVnAEsBtJ9b4FCsa" X-Trace: ger.gmane.org 1448402174 17479 80.91.229.3 (24 Nov 2015 21:56:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 24 Nov 2015 21:56:14 +0000 (UTC) Cc: aurelien.aptel+emacs@gmail.com, p.stephani2@gmail.com, tzz@lifelogs.com, emacs-devel@gnu.org To: Paul Eggert , Eli Zaretskii , Tom Tromey Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 24 22:56:11 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 1a1LZK-00050U-7e for ged-emacs-devel@m.gmane.org; Tue, 24 Nov 2015 22:56:10 +0100 Original-Received: from localhost ([::1]:41614 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1LZL-00068w-Mb for ged-emacs-devel@m.gmane.org; Tue, 24 Nov 2015 16:56:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57140) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1LZ7-00068r-RK for emacs-devel@gnu.org; Tue, 24 Nov 2015 16:55:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a1LZ6-0001Q9-S4 for emacs-devel@gnu.org; Tue, 24 Nov 2015 16:55:57 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:33268) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1LZ6-0001Pj-Iu; Tue, 24 Nov 2015 16:55:56 -0500 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=p2m6iWDTACMDa4CH6vE2/Z4wK8Y+VP5DrrOI0khkhP8=; b=H4IvaUhYcEY6XGCla8H/okZaNzLRTCYVWg3TpVEFSjZIlVo4jE9cg2o0AuSxfSS4oIQimvLmuIK9f1Ss4AXacEInly0iOzXehBxLuGUiUEg+/MqgSMW5kiWp223dYJqP3KvKcaZiCB/f4kKt5O742UCgY8PlTG4k2pvTuMj1AJ+KiykbMndcIfw6scU25tW9FZEqj7Nl9AjLODC5wpP0AxC/WpZUa8uM3LysU+0iRR/aPIRVxf8gDh1fULJBjJHwX5q+uJ6Htg5BQRGwHIp63+kPkXIf3njrdji/EK1lfHf/Bv8anGSXmuAs3DPkNEJW6ghjg1g1Vq15jqDVsSSEtg==; Original-Received: from [2620:10d:c090:200::8:b63e] (helo=[IPv6:2620:10d:c083:10fb:2ab2:bdff:fe1c:db58]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1a1LYx-0000t9-0U; Tue, 24 Nov 2015 13:55:47 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 In-Reply-To: <5654D7CF.90001@cs.ucla.edu> 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:195191 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --jBdMVlgMbNowrfBXSdVnAEsBtJ9b4FCsa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 11/24/2015 01:34 PM, Paul Eggert wrote: > On 11/24/2015 12:49 PM, Eli Zaretskii wrote: >> Btw, using this method the module code becomes very tedious >=20 > It's so tedious I can't imagine using it that way. Module authors > shouldn't have to call env->non_local_exit_check (env) after every > function call, to see whether the function actually worked. Functions > should be able to signal an error, just as they can in the Emacs core, > and the error should propagate through calls in a natural way. And in a C++ wrapper interface, that can happen naturally and safely. If you want to write C, you check for errors the C way. --jBdMVlgMbNowrfBXSdVnAEsBtJ9b4FCsa 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 iQIcBAEBCAAGBQJWVNzcAAoJEN4WImmbpWBlGT8P/2/nxHVksrgeBKCkZ4jsTJBe gM3nJ6hWBp4nuWr2wRTKMrT7NpKycqQfaA9KpsoEutEY4HDv1uUjdkZRoGD1EdkX wTIK8avoOcvfvifr8qiTudcF0DSIfIjQAE6Jy4vGzGUrBYERSBdQZXGkRx72KQeP pD2dbjQEGhG/Uy9t+/3Aa6+Q5Ru4dvb0CoOWV6KAVdymo3WX9qwj9rI8GSPe3I8g i3E83DLQp2O3uwWQZ05HsDD3XqxmtI5KKvwHpL5iPBlnmJ31p0N7hh11WYP8CXl5 iNJCayREHrO9RqtVxPW6/bhQ168Q50DYL6kvSvzl1uOvLjtjxRPT+Wkc0ogYESEg 67jsLuk5YM6ozsn1yTSqss3vXG4GiDVbGWuuhyH/wR6axDX2q0yKW+dxXLNV0DMx UAOWMa7qqxlPp9IRD3nHxvPP/UzvBazNHVVgeKhkdATl6bEZKgacRSAtS/YusSJq ZmVH6EXrZFG1EcnaF6Puol0UD5a3DpC1rPItDZsz1GoF69n16yqVolLlNB6FxS5h iPFDGBlskSmBcbsv33nM0b+SLd/YOu15fgdsGxiRQERsDmH7IcBxr+Eg5k2stL3G QBtFlj++eGBSpUnsHcZhbNnWVy/gKL7UDahsa1q5cqiW64SqmMtfz5kE5QHyKtS6 Ixikwyn+lcIeHvRt5F+f =gwuv -----END PGP SIGNATURE----- --jBdMVlgMbNowrfBXSdVnAEsBtJ9b4FCsa--