From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Xue Fuqiao Newsgroups: gmane.emacs.devel Subject: Re: Adding c/c++ scripting Date: Sun, 24 Jan 2016 09:23:45 +0800 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1453598632 14856 80.91.229.3 (24 Jan 2016 01:23:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 24 Jan 2016 01:23:52 +0000 (UTC) Cc: "emacs-devel@gnu.org" To: jonathan maharaj Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 24 02:23:52 2016 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 1aN9PD-0007MZ-C9 for ged-emacs-devel@m.gmane.org; Sun, 24 Jan 2016 02:23:51 +0100 Original-Received: from localhost ([::1]:58949 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aN9PC-0002g5-Km for ged-emacs-devel@m.gmane.org; Sat, 23 Jan 2016 20:23:50 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aN9P9-0002fm-5B for emacs-devel@gnu.org; Sat, 23 Jan 2016 20:23:47 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aN9P8-0006MK-64 for emacs-devel@gnu.org; Sat, 23 Jan 2016 20:23:47 -0500 Original-Received: from mail-ig0-x22c.google.com ([2607:f8b0:4001:c05::22c]:36828) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aN9P8-0006MG-0A for emacs-devel@gnu.org; Sat, 23 Jan 2016 20:23:46 -0500 Original-Received: by mail-ig0-x22c.google.com with SMTP id z14so14691785igp.1 for ; Sat, 23 Jan 2016 17:23:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=dEmWDhuw2vJchTFg3kLHwgzzDOBvYAU/62ea3NfCSwU=; b=LA5eTwVgNj+/HcU8sMVm1y+RtnPO8iXCaSnnJr5xuLNr1IsJATze3q/41LCm7hd1Zd JxJSK2mWKBmhwNi0lZy6ES9ujx41t+PC0TvpCURnG6HDCgr4+QEylKGrpQRBjbaaWh8L PICibgZTMAlwKAk9M83BRdFjx0KfZMNIGmsh+ZJubamZ+3t/D+XxmUimQDvm+CUDQhbm D41pOW5VB3IxIynv9vmpcWtByYTOf4ROU69tIBL35V17yrLiSdhvQyHaj15njLp9zMnl avn8k3ZtF+xBH0PYNoKg6rpQoPnvtLrzqvSwUmbjbBsji63ZCBR2/eHRH9zYWG3c/Vgb DLnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=dEmWDhuw2vJchTFg3kLHwgzzDOBvYAU/62ea3NfCSwU=; b=bNr9mCdenuBE/smB1A8Gfu8XntvL+Fy0ab3eVM46xxn0980gbK5IyYhOdSJrAtDZHc CwuojDn0KKoKioN4qk7HPYdtMIxYPPKYHtxvU8aEwOKhev+urxpOs/Kxqi2CH3O4ojEh nwJZGz8DDYIdqfa4qqBpiLm5Fr/R/7/fhDzg2lhSOhjbxP5PEybwB4cbE2+jOq7FPihJ 3f82mHLKzxLzyM5aAdq0O2j5fpX2eYljcmb8IzpsuTOF+7GufB/QGVXGHlab01bp8IQz 0abQpzBpx4JEDEN2P6+A+UOIalh45TBoFLkDA23GoPFnHYD2sm1IV9tS7zki1heb4eni i8ug== X-Gm-Message-State: AG10YORi2rKmKhpA8bojyIGfNV0/VAIYnB/fXwPNH4FkQdQiXiTn5OTjmaVWA9AWUWJTTO6OJoe/rlgXtz/NGA== X-Received: by 10.50.6.105 with SMTP id z9mr10334935igz.16.1453598625200; Sat, 23 Jan 2016 17:23:45 -0800 (PST) Original-Received: by 10.79.30.131 with HTTP; Sat, 23 Jan 2016 17:23:45 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4001:c05::22c 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:198673 Archived-At: On Sat, Jan 23, 2016 at 12:20 PM, jonathan maharaj wrote: > Instead of scheme for emacs I'd like it to support c/c++ or any language Although you can't use C/C++ (or languages other than Emacs Lisp) to script Emacs directly, in Emacs 25, you can use dynamic modules. A dynamic module is just like an Emacs Lisp package. IIUC you just need to export a C-callable function in the module, and make the license of the module GPL-compatible. The module can also use Emacs's API. PS: Personally, I like Neovim's plugin architecture. With the msgpack API, you can even use C#/Ruby/JavaScript/... to write plugins.