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: Sun, 13 Sep 2015 07:31:10 -0700 Message-ID: <55F588AE.2010301@dancol.org> References: <87bnl1vmqf.fsf@lifelogs.com> <87vbj8tow4.fsf@lifelogs.com> <87r3twtagf.fsf@lifelogs.com> <85siebl7ws.fsf@stephe-leake.org> <85a90ilwmm.fsf@stephe-leake.org> <83386a6f7z.fsf@gnu.org> <85h9upjz7v.fsf@stephe-leake.org> <83wq3k3kl4.fsf@gnu.org> <85bnkwil1c.fsf@stephe-leake.org> <83pp9cwky8.fsf@gnu.org> <85a90ggf2d.fsf@stephe-leake.org> <54E0A40F.5080603@dancol.org> <83sie7un20.fsf@gnu.org> <54E0D181.2080802@dancol.org> <83r3trulse.fsf@gnu.org> <54E0D7E0.305@[87.69.4.28]> <83h9unukbg.fsf@gnu.org> <54E0DEF8.7020901@dancol> <83egpruiyp.fsf@gnu.org> <54E0FF93.2000104@dancol.org> <55F584E7.7090406@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="18vulwb2Cp33lNnxp9ijK5Deg49N6xKxM" X-Trace: ger.gmane.org 1442154705 21454 80.91.229.3 (13 Sep 2015 14:31:45 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 13 Sep 2015 14:31:45 +0000 (UTC) Cc: stephen_leake@stephe-leake.org, emacs-devel@gnu.org To: Philipp Stephani , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 13 16:31:36 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 1Zb8Ja-0002re-Vy for ged-emacs-devel@m.gmane.org; Sun, 13 Sep 2015 16:31:35 +0200 Original-Received: from localhost ([::1]:36051 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zb8Ja-00062T-9s for ged-emacs-devel@m.gmane.org; Sun, 13 Sep 2015 10:31:34 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33479) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zb8JL-00062J-99 for emacs-devel@gnu.org; Sun, 13 Sep 2015 10:31:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zb8JI-0003Z0-35 for emacs-devel@gnu.org; Sun, 13 Sep 2015 10:31:19 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:55609) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zb8JH-0003Yu-N9; Sun, 13 Sep 2015 10:31:16 -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=LH2PKrrfovh+D2Z53CFjxTRFbpBGKCK17nIE5Uur7nI=; b=K3sBDCK/ixWHmnQWl3SG5jdBJDZZOGSf+bH+kx9MgvR4J2hZ1S+arPfRcZw/eJW4T4/9Lk/CIal6FMgFupewfaTgzeRDIhAJWN5CYmdj/iv/yHoW5gAOBmvaeYerzeyYpnDtupUqlwvWkv9BEO7Cb4KBhvd2TwimKYIjQxC2jiJNHonwEr99IAXdYyDZ5B7Y5CCIIhL/BEWbfBvXtT6/iPgIvpdbEJ1LwaVi3OlG58zAMmzkyDJ7FGF5xWaDggKgSh+SS2GXkMsSbjzmOPaic3jF9uX3Uaf1WSAwfB3nALJId8gI8D6rkpYHrCeV8I6AtesymlWB19dbu+NssBX4Ew==; 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 1Zb8JG-0002QI-8l; Sun, 13 Sep 2015 07:31:14 -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:189895 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --18vulwb2Cp33lNnxp9ijK5Deg49N6xKxM Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/13/2015 07:27 AM, Philipp Stephani wrote: > Daniel Colascione > schrie= b > am So., 13. Sep. 2015 um 16:15 Uhr: >=20 > On 09/13/2015 06:04 AM, Philipp Stephani wrote: > > Daniel Colascione > >> schrieb > > am So., 15. Feb. 2015 um 21:21 Uhr: > > > > typedef struct emacs_value_tag* emacs_value; > > > > > > Would it make sense to not use a typedef here? Using a typedef me= ans > > that the type including its size is opaque and subject to change,= > which > > can break ABI compatibility. I'd rather have something like: > > > > struct emacs_value { > > // contains private fields > > }; > > > > and then pass /struct emacs_value*/ around. >=20 > You may have missed the "*" in the typedef. The difference is styli= stic. > There's no difference between foo and bar here. >=20 > typedef struct valuex* value; > void foo(struct valuex* x); > void bar(value y); >=20 > I find the typedef much more readable, however. >=20 >=20 > There's no difference in your design, but using a typedef makes it > possible to use a non-pointer type without changing the API in obvious > ways.=20 > E.g. Linus is strongly against such > typedefs: http://lkml.iu.edu/hypermail/linux/kernel/0206.1/0402.html Linus is also against integer overflow checking. So what? I can't stand argumentum ad Linus. I still find the typedef more readable, because to users, emacs_value is an opaque type, and the fact that we implement it as a pointer is irrelevant. --18vulwb2Cp33lNnxp9ijK5Deg49N6xKxM 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 iQIcBAEBCAAGBQJV9YiuAAoJEN4WImmbpWBlyMIP/3K5eepCNVn1C5jWQ9wN/4kv YXkLCS9FKVE2DpDhUeOiXbJrFBtxWtzdD3tgy3xYCvXaHgIQXDqoSYcHho8jA3ww PIA/YDKpN4hN4r+F5EBmVhpbcYKeBqsjkmC6H1uaxzj4KUbNTzj36EirgZvW6zBW 2ixqQSC2Km/F2H1iexK1U+O0WcPc/I+4i4gtQQSs4ltdn0tOBDZyFSeTZst5gqLK x4stMNfPAKKcR+gdHGLhygQi0XqFWHOZxdHC0WpuR7zJAsiqAH1hNBeRw4wzbJF/ iscArRiTEmbzgfHQbq3gNkr5msb1bKwFHBTAMzhy8ADlpLQgLPdEBQqpPPov3LeS t0FQx2j8Fmwn5iOtY8y9Wryq5qYYKb+C7dip7QdheGIiEXNOqgZP3GtM6BnUiZ80 T03Xz4E1xGxlQRIBgNwTOyvaYXqVsH/7xOJH9RFF/w0BRINtN3r66u6puyAGrpKN 9SydlyFrbSCXDDn9YkJMqOv1bZW35KFiBh4IpaJNEPCkuRHU5ZTclyELKJYu+sb4 dE58tw2ix3K2w6v71UbFOVwrZoNwSticAOW3bcUx7+Q8UpqficemCNGxlI7vfVMa g1uNgywlbXmvHmibZZ4RaoObr1VVT+AOvT46cXRY+ZxRHpBRrVmXg54tjpepRGS4 w2RPfuH/cebAhOhMae1i =irZ4 -----END PGP SIGNATURE----- --18vulwb2Cp33lNnxp9ijK5Deg49N6xKxM--