From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Tue, 21 Apr 2015 10:14:43 -0400 Organization: =?utf-8?B?0KLQtdC+0LTQvtGAINCX0LvQsNGC0LDQvdC+0LI=?= @ Cienfuegos Message-ID: <87vbgpk1po.fsf@lifelogs.com> References: <83r3trulse.fsf@gnu.org> <54E0D7E0.305@87.69.4.28> <83h9unukbg.fsf@gnu.org> <54E0DEF8.7020901@dancol> <83egpruiyp.fsf@gnu.org> <54E0FF93.2000104@dancol.org> <833865vp4d.fsf@gnu.org> <54E2355A.90@87.69.4.28> <83vbj1u020.fsf@gnu.org> <54E24CA4.9020601@dancol.org> <83h9uk7ddb.fsf@gnu.org> <54E382A5.5030408@dancol.org> <54F789B2.6030105@dancol.org> <87egnel6ac.fsf@lifelogs.com> Reply-To: emacs-devel@gnu.org NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1429625749 4533 80.91.229.3 (21 Apr 2015 14:15:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 21 Apr 2015 14:15:49 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 21 16:15:43 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 1YkYxf-0007ZJ-Qk for ged-emacs-devel@m.gmane.org; Tue, 21 Apr 2015 16:15:39 +0200 Original-Received: from localhost ([::1]:58751 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkYxf-0007Iz-6L for ged-emacs-devel@m.gmane.org; Tue, 21 Apr 2015 10:15:39 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkYxP-0007Il-U7 for emacs-devel@gnu.org; Tue, 21 Apr 2015 10:15:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YkYxJ-0006h5-Ii for emacs-devel@gnu.org; Tue, 21 Apr 2015 10:15:23 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:50801) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkYxJ-0006gp-BQ for emacs-devel@gnu.org; Tue, 21 Apr 2015 10:15:17 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1YkYxH-0007LM-D1 for emacs-devel@gnu.org; Tue, 21 Apr 2015 16:15:15 +0200 Original-Received: from c-98-229-61-72.hsd1.ma.comcast.net ([98.229.61.72]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Apr 2015 16:15:15 +0200 Original-Received: from tzz by c-98-229-61-72.hsd1.ma.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Apr 2015 16:15:15 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-Lines: 38 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: c-98-229-61-72.hsd1.ma.comcast.net X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" Mail-Copies-To: never User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) Cancel-Lock: sha1:0ngoNCFDzXHRGeNxAkp9QYUIOzg= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:185752 Archived-At: On Tue, 21 Apr 2015 10:58:06 +0200 Aurélien Aptel wrote: AA> On Tue, Apr 21, 2015 at 1:38 AM, Ted Zlatanov wrote: >> I like it. Can you provide a simple example in the branch of how it >> would be used from both sides? I can restart the testing and keep it in >> sync with the Emacs repo again. AA> It's already in there: AA> https://github.com/aaptel/emacs-dynamic-module/tree/dynamic-modules-2/modules/basic Right! As far as the coding style and barriers this enforces, I think it's just right. Thanks to you and Dan Colascione and the others for working on it. As far as capabilities, the basic module should have a string exchange, as you've started to implement in `copy_string_contents' and `make_string'. I think it's impossible to move forward without that. I would go simple for now: always make a copy of the string using UTF-8 encoding in the args, assuming that the majority of C modules can deal with it, and we can stop worrying about string sharing and encoding for now (we can revisit them later). We should free the copy right after calling so the module doesn't have to free it. If you agree, maybe you should make a specific type for UTF-8 encoded strings so we can support others in the future (byte array, wchars, etc.). I think `plugin_is_GPL_compatible' should be a float indicating the GPL version. Maybe even a char[] to express flavors, from a constrained set of choices. Let me know what you think. I'll hold off pushing and testing for now but am happy to proceed on your command. Ted