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 04:17:17 -0800 Message-ID: <54DDEB4D.5040300@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> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="v43a0tPt7gDrS41EgqhfNe9sbd81AxGvb" X-Trace: ger.gmane.org 1423829877 19499 80.91.229.3 (13 Feb 2015 12:17:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 13 Feb 2015 12:17:57 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii , Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 13 13:17:50 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 1YMFBt-0000E3-9d for ged-emacs-devel@m.gmane.org; Fri, 13 Feb 2015 13:17:49 +0100 Original-Received: from localhost ([::1]:55012 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMFBs-00081L-HS for ged-emacs-devel@m.gmane.org; Fri, 13 Feb 2015 07:17:48 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53640) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMFBd-00081C-U9 for emacs-devel@gnu.org; Fri, 13 Feb 2015 07:17:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMFBU-0003lk-PC for emacs-devel@gnu.org; Fri, 13 Feb 2015 07:17:33 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:48445) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMFBU-0003lJ-F0; Fri, 13 Feb 2015 07:17:24 -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=LvgdsH3jY2+xTN9JW8Yj8jQ9c6pAXcPXXGC//D41Gqk=; b=q3hN7NHZhoZwSkYAJOe0/eZxwpnLzpicCN7OLWOQ+gy0Wv2WJi/TlaYgac8i11yLLM6LZUHoxof8hfRWBLePR0QZ8L8AhP67Xp7TZeKNxLmhrxSfII2MXhuT2q5rKiQwzWnCNPq5kVsjI+REmXDEv6MQD4C9QxUg94IZG8XwZ6xs2aLaWAJjtBY/fLjNr84g5aJuW1GdZVlxKgO5AWs4bP2oMeWimL47sBsrmmk/HxFYna9lA3NilcIUWiLqa31XxTdXmsKqsYHdaFgykelwjuzdIvUuZnYJ584WSUpb7MWJPQ+IW3Bhx/TajmozQFrh7l6DtkOZC9dvffzNoMKq5A==; 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 1YMFBT-0003Gf-0e; Fri, 13 Feb 2015 04:17:23 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 In-Reply-To: <83wq3m436s.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:183004 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --v43a0tPt7gDrS41EgqhfNe9sbd81AxGvb Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 02/13/2015 12:37 AM, Eli Zaretskii wrote: >> Date: Thu, 12 Feb 2015 18:40:19 -0800 >> From: Paul Eggert >> >> This raises another question: what exactly should go into emacs.h? Th= e more we=20 >> put into emacs.h, the more likely plugin compatibility won't survive t= he=20 >> transition from one version of Emacs to the next. >=20 > Right. emacs.h should include the bare minimum, and each function, > macro, or variable we put there should have a very good reason for > being there. >=20 > IOW, we should design the interface between the modules and Emacs, and > we should do this ASAP, before the status quo forces us to make > compromises we will be unhappy with down the line. That's why this whole module effort is misguided and dangerous. With a CFFI-style approach to loading code dynamically, shared modules don't need to know anything about Emacs internal structure, so there are no ABI or source compatibility issues. I still think a CFFI port would be less work than trying to extract a stable Emacs internals API that modules can include. --v43a0tPt7gDrS41EgqhfNe9sbd81AxGvb 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 iQIcBAEBCAAGBQJU3etNAAoJEN4WImmbpWBlCpsP/0GEPwraMYYfvnKDVc3nJDpd hxRg6gQoWWRFJErbmS9OvA49l78SZw8ABNJ7EVE/j/M8eJnf9lqW9UpXydUAJgqs bHFWOEyNHEhYuMSatvkXL+wwH+yMXzA0vOLfHhco6IZETWOjXX882lI3XJhvKVLZ yX6mLwhPg0bf09UwysGpzcM+/KjIfc7JL2Uupx+Ok26wmr03WX68ArygAGaaImVR DI5a9ko0p4ZGP28qV3TC+cIR5YvfFbbTFYms8e4AFYH4UgaYkMfkKCOCCt/iU093 XdMmYU5MW/VTukg5UkEvMf4cOeGZuVChui+3EPL2yHVublkzyNLtUfbRZ3YPWIuJ HR4aFIQrO8SgCS89NC06jatYVedmy7blP21bT9/VKFNsWbN027Nw63VJ+J5JwsnC jqG/PWytG3DWFC6sZki5oZw4exdOyxE17dOnjzDuZyaagMAUUB9Etyrbdt5fRRv5 Uko4oV6VbYF6gFHcgZg3HU1rFWQxF5sB9n1WFnmrdL/15aLUFby6V11CFjprpU3g /7qV73kw421/FrfMwO0zkrcFA0rwAY+4stzwTAi+lP7FCL1XzIhp1TzN1efkxKvD ULC63OMuY2xBexQ6FIcs7zmFP1EoMt1SUDrZB3lZvR/v3zeF4H1kXcyDFKD62NyO Lxt9TSVhFLHXfBA3VI62 =CVt3 -----END PGP SIGNATURE----- --v43a0tPt7gDrS41EgqhfNe9sbd81AxGvb--