From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Emacs contributions, C and Lisp Date: Thu, 15 Jan 2015 23:29:36 +0100 Message-ID: <87d26fekz3.fsf@fencepost.gnu.org> References: <54B1B97E.9070204@gmail.com> <87fvbhk4ha.fsf@fencepost.gnu.org> <54B456C8.6010506@gmail.com> <8761cbhvhb.fsf@fencepost.gnu.org> <54B5AA10.7080606@gmail.com> <87iog9f5x5.fsf@fencepost.gnu.org> <87egqwflys.fsf@fencepost.gnu.org> <54B838A9.2080503@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1421400281 4409 80.91.229.3 (16 Jan 2015 09:24:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 16 Jan 2015 09:24:41 +0000 (UTC) Cc: Richard Stallman , emacs-devel@gnu.org To: Jacob Bachmeyer Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 16 10:24:40 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 1YC38v-0001BF-Vl for ged-emacs-devel@m.gmane.org; Fri, 16 Jan 2015 10:24:38 +0100 Original-Received: from localhost ([::1]:54784 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YC38v-00023v-8L for ged-emacs-devel@m.gmane.org; Fri, 16 Jan 2015 04:24:37 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YC38r-00023c-IU for emacs-devel@gnu.org; Fri, 16 Jan 2015 04:24:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YC38q-0006mr-8c for emacs-devel@gnu.org; Fri, 16 Jan 2015 04:24:33 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58330) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YC38q-0006mn-5l for emacs-devel@gnu.org; Fri, 16 Jan 2015 04:24:32 -0500 Original-Received: from localhost ([127.0.0.1]:37270 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YC38i-0003E0-Mc; Fri, 16 Jan 2015 04:24:24 -0500 Original-Received: by lola (Postfix, from userid 1000) id CA22CE0473; Thu, 15 Jan 2015 23:29:36 +0100 (CET) In-Reply-To: <54B838A9.2080503@gmail.com> (Jacob Bachmeyer's message of "Thu, 15 Jan 2015 16:01:13 -0600") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e 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:181325 Archived-At: Jacob Bachmeyer writes: > David Kastrup wrote: >> Any way we find for combining Emacs with GCC will be usable >> as a way for combining GCC with proprietary applications without the >> proprietary applications falling under the GPL. >> > > I do not think that that is necessarily so. For example, adapting GCC > to be usable as a library would allow Emacs (and other Free software) > to use GCC in a way that would remain barred to proprietary > applications. I am less sure than I initially was about the "two > plugins" solution I proposed earlier, but I will clarify it here. > > The "two plugins" interim solution: > > Implement a pair of plugins, one uses the existing GCC plugin > interface, the other uses a to-be-developed Emacs extension interface. > The to-be-developed Emacs extension interface essentially allows subrs > to be added to a running Emacs. It is not useful aside from extending > an Emacs Lisp interpreter. The pair of plugins is an inseparable > whole. The need for two plugins is simply an artifact of GCC's > current architecture, which precludes directly loading GCC into the > Emacs process. If two plugins to Emacs and GCC are made to talk to each other, you can replace the Emacs plugin with something else doing the same from GCC's point of view. GCC and Emacs are independent applications with an independent history and a necessity to continue working independently. If you make those independent applications communicate in any manner, any other application using this communication is going to remain similarly independent. Even if we managed to successfully mess with this basic equivalence, the consequences of establishing such precedence would be so much worse for our cause than accepting this limit of copyright's reach could ever be that we'd be wise to not even try. -- David Kastrup