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, 15 Feb 2015 05:50:07 -0800 Message-ID: <54E0A40F.5080603@dancol.org> References: <85k31coixa.fsf@stephe-leake.org> <85oapy5kt6.fsf@stephe-leake.org> <83y4oiiw81.fsf@gnu.org> <838ugdf251.fsf@gnu.org> <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> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="2BoWrjKTTqRErQiILJjwG0vmgWrJePtIS" X-Trace: ger.gmane.org 1424008261 2470 80.91.229.3 (15 Feb 2015 13:51:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 15 Feb 2015 13:51:01 +0000 (UTC) To: Stephen Leake , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Feb 15 14:50:53 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 1YMzb0-0006BA-Eh for ged-emacs-devel@m.gmane.org; Sun, 15 Feb 2015 14:50:50 +0100 Original-Received: from localhost ([::1]:35464 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMzb0-0002WB-0g for ged-emacs-devel@m.gmane.org; Sun, 15 Feb 2015 08:50:50 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59972) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMzab-0002VN-Ij for emacs-devel@gnu.org; Sun, 15 Feb 2015 08:50:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMzaW-0004CC-AF for emacs-devel@gnu.org; Sun, 15 Feb 2015 08:50:25 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:34993) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMzaV-0004BQ-VE for emacs-devel@gnu.org; Sun, 15 Feb 2015 08:50:20 -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:To:MIME-Version:From:Date:Message-ID; bh=i2f4an6zdC8RK/N5RKATQWmntFU+0Nd1qqafX029JuU=; b=GoaqNxHetgjiiDR/HHpxawr7lmrYYmMJyk8YIVTcDq/251DbiLaWOvJ7O0PWDTr1XJ3iHEF85E1dJGOll0ekIj2W/sXu5DRUOTDmqUJPXhG1O4AEX7ZHrIDWP2RK8oP68qkgAolEjVCKz7/ZJX7CSWqy9IDgUGdgDTVYiskN2/xgtViGjSaraC8KkwcChSGmCW+TnzfqQk1zJCpdow3hn7YXcC1AWg0jOgF10Llu7fnJZ8r1lntruJS5vy8iHpFFFHN8r5iIO08ZqH58gYgnGfV3QrQFj4AO8fLNY+gmyFYEdRmegOCJYDM3uFn0PoygvpViG2ry5HmKoHc1jmdhNw==; 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 1YMzaP-0000Li-85; Sun, 15 Feb 2015 05:50:13 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 In-Reply-To: <85a90ggf2d.fsf@stephe-leake.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:183087 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --2BoWrjKTTqRErQiILJjwG0vmgWrJePtIS Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 02/14/2015 05:04 PM, Stephen Leake wrote: > Eli Zaretskii writes: >=20 >>> but I don't see how we are going to restrict what symbols are >>> available to the module. >> >> The way to restrict the export is to declare the symbols you want to >> export with __declspec(dllexport). Then only those symbols will be >> exported. >> >> Note that, since emacs.h will be included by modules as well, we will >> need something like >> >> #ifdef WINDOWS >> # ifdef emacs >> # define EMACS_EXPORT __declspec(dllexport) >> # else >> # define EMACS_EXPORT __declspec(dllimport) >> # endif >> # else >> # define EMACS_EXPORT >> #endif >> >> That's because they should be exported by Emacs, but imported by >> modules. >=20 > Right, that makes sense. No it doesn't. Modules shouldn't be importing anything from Emacs: Emacs should _give_ modules a table of all function pointers they need. It's a lot less error-prone that way. >=20 >>> Is there an acceptable (ie portable and reliable) way to determine th= e >>> OS in a Makefile? I'm not aware of one (short of Gnu config.guess). >> >> Windows can be detected by looking at environment variables. Since >> Make converts them to Make variables, they are easily accessed. >> >> Another possibility is to invoke "gcc -dumpmachine" via the $shell >> function. We could also invoke uname in a similar manner, but that >> requires MSYS or Coreutils to be installed. We could even invoke Make= >> itself with the --version option, and see what follows the "Built for"= >> header. >> >> So ways to do that exist, we just need to decide whether we want to go= >> that way. >=20 > I've attempted to take that approach for other projects, and it isn't > very portable >=20 --2BoWrjKTTqRErQiILJjwG0vmgWrJePtIS 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 iQIcBAEBCAAGBQJU4KQQAAoJEN4WImmbpWBlznwP/i2Wxy6hK0uD3dKqxyZ64i+7 MWDXtTuaC7bfAegmS4AZ94JW3uh/2O47jd7afOuE4KYR6EE3yGAam/m859tGG0D+ /OobSAEnlm2GA28A46OyGoL5CAx4Bt+R3L53PiD4i++lkfoxBnOwWMSQfvt/0k7A OClrE2EuuVjSF3IPn4/F7uMw8dJEDJKb03UGzNkrAT4qw+rIG3Y5ewRaMT0HZN41 kyo+dqXCEfFmVOmYj5/als6OPPMR3pCx1eyUSOhJJfDcBXXHavTfd+BItLcMcOQn P2/FilerbQTg1K52mXU6/nfNJGiGtq0YflZz1h3bbFpHvQV97Qk4Nf8me227EDqV /A4zEFtfJP+xbS7Lgv+IQCifVStV70+CpD5K7znIRWTPnphCLH9OsCYEd4uH48A9 hrG00p26v0jJRMH8xebBKk4xBjKle0XhLG0CHpLzHYKyV4s005bb5anuyQDS0m6/ CGEhZpO4IUdXnvj/YEwo/Tqc7IMsELVwNPw4GLtinVrXErClUM7g7RjusOIbEr5I sJY/A9MbVB4EF3W0WODosdiVxpfwjVD1BO6PBW5f+Xs7eAjJu7ptHE+Feh1JwFTc HkOzwLPU/smM/0rDAZPaecG3f+teI8V8GE7EGGHUkpgkIjY9ZO3crPPGKjcTuZkh tzd2A2emWk51gTbkjfvA =ti1H -----END PGP SIGNATURE----- --2BoWrjKTTqRErQiILJjwG0vmgWrJePtIS--