From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Mambo Levis Newsgroups: gmane.emacs.help Subject: Re: Emacs modules 25.1 Date: Tue, 27 Sep 2016 12:23:08 +0000 (UTC) Message-ID: <1273225869.1442197.1474978988432@mail.yahoo.com> References: <709716874.935191.1474913256978.ref@mail.yahoo.com> <709716874.935191.1474913256978@mail.yahoo.com> Reply-To: Mambo Levis NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1474979204 1425 195.159.176.226 (27 Sep 2016 12:26:44 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 27 Sep 2016 12:26:44 +0000 (UTC) To: Mambo Levis , "help-gnu-emacs@gnu.org" , "johnw@newartisans.com" , "bozhidar@batsov.com" Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Sep 27 14:26:39 2016 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1borSs-0006a8-F0 for geh-help-gnu-emacs@m.gmane.org; Tue, 27 Sep 2016 14:26:26 +0200 Original-Received: from localhost ([::1]:50466 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1borSr-0005Mj-0U for geh-help-gnu-emacs@m.gmane.org; Tue, 27 Sep 2016 08:26:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36729) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1borRt-0005Kf-Td for help-gnu-emacs@gnu.org; Tue, 27 Sep 2016 08:25:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1borRo-0001So-NA for help-gnu-emacs@gnu.org; Tue, 27 Sep 2016 08:25:25 -0400 Original-Received: from mail-it0-x236.google.com ([2607:f8b0:4001:c0b::236]:35284) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1borRo-0001Sj-F7 for help-gnu-emacs@gnu.org; Tue, 27 Sep 2016 08:25:20 -0400 Original-Received: by mail-it0-x236.google.com with SMTP id r192so102731295ita.0 for ; Tue, 27 Sep 2016 05:25:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:reply-to:to:message-id:in-reply-to:references:subject :mime-version:content-length; bh=0BADXJ1G28fgftSSbU8uPcjHZNhNu3u6gi1Belfdjy0=; b=dPGq2p+dxwFu97Vvwe5qnPSoyWhSWVFmX0tYhVhT9X2yuXtwSY1O6tljsIEoZlklnL NZKugmHB3DMW5uAuf8iRciqnEuKtyQsBq7BJIv/SOWBEDbYUhP15qXebLwpbeI5avgq5 sfI5eWMMnLF4Uzx7FWRtrZ4wTXKM4VJ3aJbvDkyAdre/CfyBMG6sWy4ErVx6g4Y/a/uo Nkiv9hF2ZUK7W+HdxvfrYW1zKKSXQs2KqqX72KvLXoNb3I6NMoH0yY8nBW4yX2+iS3Xx SQ/5L9sCLCBBC4XrseQWDWsRDm/iT81f+IjWyNiN8Uv2HykEgK+Ndp1Bu3XqhDSYCvhK IvHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:reply-to:to:message-id:in-reply-to :references:subject:mime-version:content-length; bh=0BADXJ1G28fgftSSbU8uPcjHZNhNu3u6gi1Belfdjy0=; b=kWzR1/dV/wEUjZjupGASdWpO5gJzLaSiTRXdVhO6Z9US68HjleBY78qudwyAqQ7XGp WdPUwxGgncqNEOjf2SD53dn1PL8MtgqrPMmQmJelfrQiHc3mnLMWnUgiT4Z3ToQdrHiR Mi0s4sx4Xb583B2+i4/DHBocDRi2MyciOx4x+lY5OHrgz8Aa96CSL5PT3TOdUzWV0qqI z6mBdEvEq9/ma7ZUkT+wIuQLGSms6tq6Q8H7poeA7WxpuZwOs6RlXP7Piu3zkHXea42q HYIVAgpgxLjTcqE3YTv6zVizkzQsnjSKRVHXVB655M0sV363WyPfJrbc+TaPNjlJwi9m 8SAg== X-Gm-Message-State: AA6/9Rnx6109lX+DATVYmt8mfJRoviBT35V24w77CmEaNICeklARRivrAytO95R+SIGAtw== X-Received: by 10.36.224.136 with SMTP id c130mr3782397ith.77.1474979119823; Tue, 27 Sep 2016 05:25:19 -0700 (PDT) Original-Received: from smtpsendws102.mail.ne1.yahoo.com (smtpsendws102.mail.ne1.yahoo.com. [98.138.101.179]) by smtp.gmail.com with ESMTPSA id g65sm880128ioj.24.2016.09.27.05.25.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 27 Sep 2016 05:25:19 -0700 (PDT) X-YMail-OSG: lp_dDjQVM1kr6fw0_tQ3aFQuIedLcBB_a0aTOFX7bVwvZDsIAXekj_xS1lzbzm2 K0Q.9Bdtsq4eycGVOA.SakT.lnzgHxXES2oH.ZXMiAucdeyJbE9alx0Xrsc_RuGqnBROPxV84PqN P2GPr9zj9MHSyDH92WnGlUNjqqYNlBC8_GCD_SqjAMqrZW8dwx7onNbJgsfqQUgmK0mP3OiKRMtO 7.YEWebna1p6_wl9In8DsIOZED.vTs0nmxxcHZU0T9BDgit5YWbNUoKcb8RM.8edNp1v642gU8P1 VDdLl.SAZC3iIIsey2_rsKfHEuTPX5M9sd_mH75719uynOTs.ok1ZVoVPwbSGN7Rnsa3kAIq38Ew y7bCpumuf.oFvlYKhFzK13OUNCTrBSL62h86l8QO3Jl_4aqssT40vd2ky9qTE78zxdgMwLvBbptu JmRkk_CnJ2U0i0sAA.ebPe7Dz.IT0Pg_Kk2Dkrb9gNXNpnUymY7QcdEHWytErKcjCeL8v6HXZYrq CXvqBODoa9k3T448Fc2bZSp6870qjzD9rzeL9z3MJHwKaRqnqm1QrK.UpCWNW.E.oe.CiTZVmSWg NBE4- Original-Received: from jws100281.mail.ne1.yahoo.com by smtpsendws102.mail.ne1.yahoo.com; Tue, 27 Sep 2016 12:23:36 +0000; 1474979016.745 In-Reply-To: <709716874.935191.1474913256978@mail.yahoo.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4001:c0b::236 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:111402 Archived-At: Hi, I found the problem and now I can build the emacs_module example using g++. That's means that I eventually can create a c++ wrapper, but I would like t= o listen to your advice because I don't knowif there is a fundamental issue= that I'm ignoring. So, only one question is still open? 1. Is it possible to create a C++ wrapper around=C2=A0emacs_modules and wha= t are the implications? Thanks, Levis =20 On Monday, September 26, 2016 8:07 PM, Mambo Levis wrote: =20 Hi, I tested (in=C2=A0Windows)=C2=A0the example from=C2=A0Aur=C3=A9lien Aptel (= http://diobla.info/blog-archive/modules-tut.html) with=C2=A0gcc=C2=A0at it = runs as expected. Now, I would like to create a C++ wrapper, but I not quite sure if it is po= ssible. Questions: 1. Is it possible to create a C++ wrapper around=C2=A0emacs_modules?2. I am= trying to build the same example using g++ and the following error appears= : ---------------------------------------------------------------------------= ------------------------------------$ make SO=3Ddllg++ -ggdb3 -ID:\user\ema= cs-src\emacs-25-branch-src/src -c mymod.cmymod.c: In function 'int emacs_mo= dule_init(emacs_runtime*)':mymod.c:55:45: error: invalid conversion from 'e= macs_value_tag* (*)(emacs_env*, int, emacs_value_tag**, void*) {aka emacs_v= alue_tag* (*)(emacs_env_25*, int, emacs_value_tag**, void*)}' to 'emacs_val= ue_tag* (*)(emacs_env*, ptrdiff_t, emacs_value_tag**, void*) {aka emacs_val= ue_tag* (*)(emacs_env_25*, long long int, emacs_value_tag**, void*)}' [-fpe= rmissive]=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0NULL);=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0^Makefile:42: recipe for target 'mymod.o' failedmak= e: *** [mymod.o] Error 1 ---------------------------------------------------------------------------= ------------------------------------ It corresponds to the following code (I remarked the part associated with t= he error) ---------------------------------------------------------------------------= ----------------------------intemacs_module_init (struct emacs_runtime *ert= ){=C2=A0 emacs_env *env =3D ert->get_environment (ert); =C2=A0 /* create a lambda (returns an emacs_value) */=C2=A0 emacs_value fun= =3D env->make_function (env,=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 0,=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 0,=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 Fmymod_test,=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 "doc",=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 NULL);=C2=A0 bind_function (env, "mymod-test", fun);=C2=A0 provi= de (env, "mymod"); /* loaded successfully */=C2=A0 return 0;} ---------------------------------------------------------------------------= -------------------------------- Do you have any Idea or recommendation?=C2=A0 Thanks, Levis =20