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: Fri, 13 Feb 2015 07:58:12 -0800 Message-ID: <54DE1F14.9010807@dancol.org> References: <85k31coixa.fsf@stephe-leake.org> <85oapy5kt6.fsf@stephe-leake.org> <83y4oiiw81.fsf@gnu.org> <838ugdf251.fsf@gnu.org> <54D80098.3020209@cs.ucla.edu> <54D85304.1030600@cs.ucla.edu> <54D9AC29.2020603@cs.ucla.edu> <54DA8539.1020905@cs.ucla.edu> <87zj8ktq8f.fsf@lifelogs.com> <54DD6413.1000403@cs.ucla.edu> <83wq3m436s.fsf@gnu.org> <54DDEB4D.5040300@dancol> <83egpt4zz6.fsf@gnu.org> <54DE12E9.504@[87.69.4.28]> <83a90h4xr8.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="qJvf8PBBSF5usTnsWIOvplPsFiI98855b" X-Trace: ger.gmane.org 1423843127 1591 80.91.229.3 (13 Feb 2015 15:58:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 13 Feb 2015 15:58:47 +0000 (UTC) Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 13 16:58:41 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 1YMIdb-00018E-F8 for ged-emacs-devel@m.gmane.org; Fri, 13 Feb 2015 16:58:39 +0100 Original-Received: from localhost ([::1]:56054 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMIda-0003Gw-TJ for ged-emacs-devel@m.gmane.org; Fri, 13 Feb 2015 10:58:38 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38371) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMIdL-0003Gn-0l for emacs-devel@gnu.org; Fri, 13 Feb 2015 10:58:23 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMIdG-0007KY-Om for emacs-devel@gnu.org; Fri, 13 Feb 2015 10:58:22 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:49491) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMIdG-0007KI-FG; Fri, 13 Feb 2015 10:58:18 -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:References:Subject:CC:To:MIME-Version:From:Date:Message-ID; bh=81fNU5Q4xU/Nopw7mliGkhkxeLkUAKoHxg82qNmscwQ=; b=BC65nSIXYEkyuTRFkEQ/OOPR80KXQ4npHGGX/tCWPk4nssomJZdA3ew6eJludAEu8z1VlMDLgNqqlvOKtDzI/q1iTjh2wgoFUJrd8TK1R4jiAC9VK5N+oYSLNzHL1Tl+qnOTjhWxRnFf3Z/sL7ArWAjVPS5DhF0eNPJya+bB6lscy2l4BldL0V40PTI+DLtXwRIP5E3Nh8C4VZg5XYSeY1wGKXJXF0se0+l43Fazo223j9C8KNCHgT+YDHxSmDW/56V+dqW6J3Ees7V9y+nVx37houGC8YBMWiMMYjb+VC13u6xWzYVh5eWVKNXS0VV2bHlveCCC7m7zcXS6Tr2YiA==; Original-Received: from c-73-221-38-18.hsd1.wa.comcast.net ([73.221.38.18] 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 1YMIdF-0004N7-4r; Fri, 13 Feb 2015 07:58:17 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 In-Reply-To: <83a90h4xr8.fsf@gnu.org> 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:183010 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --qJvf8PBBSF5usTnsWIOvplPsFiI98855b Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 02/13/2015 07:49 AM, Eli Zaretskii wrote: >> Date: Fri, 13 Feb 2015 07:06:17 -0800 >> From: Daniel Colascione >> CC: eggert@cs.ucla.edu, emacs-devel@gnu.org >> >> This way, instead of loaded modules needing to track Emacs' historical= ly >> unstable internal data structures, elisp needs to track module ABIs, >=20 > How's that better? That's the same problem in the opposite direction, > only much worse, since the modules out there are not under our control > at all. The risk isn't symmetric: 1) Shared libraries traditionally expose stable ABIs; when ABIs change incompatibly, libraries change sonames. Shared libraries need stable ABIs whether or not Emacs loads them: they're linked into other programs and aren't necessarily rebuilt at the same time as their dependencies. The Emacs core has never had a stable ABI, and creating one would constrain our optimization opportunities. (That is, libpng.so's ABI ought to change a lot less often than /usr/bin/emacs's: the former promises to provide a stable ABI and the latter never has.) 2) If a shared library's ABI does change, a Lisp update can fix the problem. On the other hand, if a strongly-coupled module becomes incompatible with the Emacs core, the remedy involves recompiling either Emacs or the module. It's much easier to update Lisp than to rebuild native code. --qJvf8PBBSF5usTnsWIOvplPsFiI98855b 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 iQIcBAEBCAAGBQJU3h8UAAoJEN4WImmbpWBlg1MQAJfw1+dRJ8G9j5U0FAIubB7H FRk4Xq9yroCHdd2ucweWZlL16JwjYXAWmAiGwL/39qdKljJHqfciqvZQvKA5mZEE HDolpwqMR0cpEna/8zECWw2MKRy9IKj5S9lTiKV58seBMC5xMOJ6tWT5g6T5NDtr VGY1PgyJbhXaJVNfCFDI750zAyCUExbMDq8LSK6g0GJwuANGKifXYGrqRvqZdYg5 dWD/M/rv2zn6uGLbBjdRIZZz4Vm4uqPwOctfi3KKnmW4cXeN13wfHFVB039DJoR0 C/+asKVi3/PmMmEcdbKacgQ93SiuBi/0WF6yrJW1MCo0x7IB3Bqn6/5/YCHBSpef FrGTs8AZhstm9YK8YP0GBzOq/T3Ul+iwoLhc34rGWq2IoiV51qO+YeQs0J5GiFRX xSvUfj6HF66rIM1Z5/ubUZXr4eJINDSF+6STnL8pPAVsnHfjt9gAUccpb8hjSfSo yqmiCyniBlxeM+01uUeRgKNfaUR6e+7P88Y0Wri/fIEigA9rEnxSdH+Y6/6b9OfN ls2Nq5/HszuQxzYORsMY9FKW1YNP7QWDeIQNeYobs8kvHjdQIZghwFtMc+Ajq7nx 6NVLNeOWilm2nfmITOdwve/yArqohgbTtqgzyCdxaqgTEv+gVcnrEksEdNwbMLN/ gHhK8EpA6JOTLENVFmSD =C0Vy -----END PGP SIGNATURE----- --qJvf8PBBSF5usTnsWIOvplPsFiI98855b--