From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Sat, 12 Sep 2015 21:38:44 +0200 Message-ID: References: <54E24CA4.9020601@dancol.org> <83h9uk7ddb.fsf@gnu.org> <54E382A5.5030408@dancol.org> <54F789B2.6030105@dancol.org> <87egnel6ac.fsf@lifelogs.com> <87vbgpk1po.fsf@lifelogs.com> <85mw20gmeo.fsf@stephe-leake.org> <878u97nyjn.fsf@lifelogs.com> <86d1yirnqw.fsf@stephe-leake.org> <87si7977rs.fsf@tromey.com> <55DB7C3D.4090106@cs.ucla.edu> <55DE75FD.8020308@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1442086741 14692 80.91.229.3 (12 Sep 2015 19:39:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 12 Sep 2015 19:39:01 +0000 (UTC) Cc: Stephen Leake , Tom Tromey , Daniel Colascione , Stefan Monnier , Emacs development discussions To: Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 12 21:38:59 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 1ZaqdX-00071k-A5 for ged-emacs-devel@m.gmane.org; Sat, 12 Sep 2015 21:38:59 +0200 Original-Received: from localhost ([::1]:33513 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaqdW-00008J-Nu for ged-emacs-devel@m.gmane.org; Sat, 12 Sep 2015 15:38:58 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43352) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaqdK-00008D-OY for emacs-devel@gnu.org; Sat, 12 Sep 2015 15:38:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZaqdJ-0000KU-T3 for emacs-devel@gnu.org; Sat, 12 Sep 2015 15:38:46 -0400 Original-Received: from mail-io0-x235.google.com ([2607:f8b0:4001:c06::235]:36449) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaqdJ-0000Jc-LF for emacs-devel@gnu.org; Sat, 12 Sep 2015 15:38:45 -0400 Original-Received: by ioii196 with SMTP id i196so130478949ioi.3 for ; Sat, 12 Sep 2015 12:38:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=6ihTKhwbiffLLWH1+2hx8vYskjfNdoezlNjP/F/gzF8=; b=upoCVZrUE7RtuDzkuh4bF704k0d/h2JOBfvMbdcvMcSNuq8UFARceYy/c/ogmOAjjZ 4964l+bXQEAK5qnaFDBzK7Z1seo60aLOJzl7mdloQh7UfDlOtVZ3z9kU7bEO5mby/zph lGL30IjTEKl6goibqijCbFtnhSet8BogCcFX3lcOz41M/vCjKu99c9J0f+Dl9EQYMf3/ T7aZPhJBXWqzkB4XYnJ5UnWySYsKhcWlwmfZMsVA+JtnqbXkMXPwfwpxwdvwyM41Esee paW0DwHbpVU6ErC42fZwla6Pp4VraRuFAvK4myIVTuvMtltOpqFfiWxyIuJwzeCU1Rdb wVug== X-Received: by 10.107.137.75 with SMTP id l72mr12936470iod.121.1442086724358; Sat, 12 Sep 2015 12:38:44 -0700 (PDT) Original-Received: by 10.36.146.193 with HTTP; Sat, 12 Sep 2015 12:38:44 -0700 (PDT) In-Reply-To: X-Google-Sender-Auth: _fLJYbyBY6VUa0FdbM0w16EF1O0 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c06::235 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:189872 Archived-At: Quick update: I only have the error handling left to implement from the API. I'm not sure on how to catch error/signal and return to the module code. I've added a basic portable dynamic loader layer (directly calling the native loading function) so it doesn't have to depend on libtool. Some of the remaining stuff to do: * configure/ifdef machinery to enable/disable the feature * expose a way to store arbitrary pointers in an emacs_value, and maybe implement finalizers. * add doc strings support * start thinking about how we want to package modules The problem with finalizer is they can't be used as destructors since the GC is not guaranteed to be called at the end of every dynamic/lexical scope (or is it?). But maybe that's a non-problem as long as it's documented. The rest of the things to do (except for the packaging thing) should be relatively easy since I've basically already done them in my first attempt at dynamic modules. I've also tried to build Emacs on a windows vm at work using Stephen Leake how-to but it fails at the configure stage saying that the build system is not supported (pc-i686-mingw-32 ...from memory). I have to look more into it.