From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Thu, 16 Oct 2014 20:32:17 -0400 Message-ID: References: <87y4t9m76w.fsf@lifelogs.com> <83lhopb1bp.fsf@gnu.org> <83oatjapq2.fsf@gnu.org> <838uknae9a.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1413505975 23144 80.91.229.3 (17 Oct 2014 00:32:55 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 17 Oct 2014 00:32:55 +0000 (UTC) Cc: Eli Zaretskii , Emacs development discussions To: =?windows-1252?Q?Aur=E9lien?= Aptel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 17 02:32:48 2014 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 1XevTI-0005xo-Bx for ged-emacs-devel@m.gmane.org; Fri, 17 Oct 2014 02:32:44 +0200 Original-Received: from localhost ([::1]:55642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XevTH-000080-Pp for ged-emacs-devel@m.gmane.org; Thu, 16 Oct 2014 20:32:43 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46107) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XevT8-00006d-CJ for emacs-devel@gnu.org; Thu, 16 Oct 2014 20:32:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XevT0-0008Ii-Sz for emacs-devel@gnu.org; Thu, 16 Oct 2014 20:32:34 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:22546) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XevSs-0008HO-Sk; Thu, 16 Oct 2014 20:32:18 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArUGAIDvNVNFxKjo/2dsb2JhbABZgwaDSsA9gRcXdIIlAQEBAQIBViMFCws0EhQYDSSIBAjSGReOegeEOASUYpQ3gWqDTCE X-IPAS-Result: ArUGAIDvNVNFxKjo/2dsb2JhbABZgwaDSsA9gRcXdIIlAQEBAQIBViMFCws0EhQYDSSIBAjSGReOegeEOASUYpQ3gWqDTCE X-IronPort-AV: E=Sophos;i="4.97,753,1389762000"; d="scan'208";a="94394916" Original-Received: from 69-196-168-232.dsl.teksavvy.com (HELO pastel.home) ([69.196.168.232]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 16 Oct 2014 20:32:18 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 0F85C85A2; Thu, 16 Oct 2014 20:32:18 -0400 (EDT) In-Reply-To: (=?windows-1252?Q?=22Aur=E9lien?= Aptel"'s message of "Fri, 17 Oct 2014 01:09:54 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.181 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:175498 Archived-At: > Ok. I think this new type needs an unique module identifier field in > order to differentiate one module type from another (per-module type > predicates). It might make more sense to have a "type" field which holds a Lisp_Object so we can trivially make it unique by using an object that we just allocated. >>> - how should modules be packaged? >> As GNU ELPA packages, of course. > Several headers are needed in order to build a module, and they have > to be the one your current Emacs was built with (eg config.h). Right, those headers need to be provided by Emacs. > I think this means Emacs should copy those in the system include dir > when installing. If we let Emacs run the C compiler, it can trivially add the -I args to specify where those headers are found. This way they don't need to be installed in the system's include dir (which is always a problem for non-root users, and makes it more tricky to handle multiple installs of different Emacs versions). > Can we generate a config.h from a built emacs binary? I don't think so. But we can copy the config.h (and whichever other include file we might need) when installing Emacs. > Also the whole thing has to be portable (build commands, paths, > ...). Well it's going to be a nightmare to get right. Yup! > In the mean time I wrote a basic YAML parsing module [1] using > libyaml. You can read yaml from a file, a buffer or a string. > I've tried to use direct access to lisp types (string, buffer) when > reading yaml streams to prevent too much copying/type conversion > overhead. I haven't done much error checking yet so it's not very > robust but it works: Yay! Stefan