From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: Re: A plea for dynamically loadable extension modules Date: Thu, 31 Jul 2003 18:59:28 +0900 Organization: The XEmacs Project Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <87y8yfm2yn.fsf@tleepslib.sk.tsukuba.ac.jp> References: <87wue0i51a.fsf@lexx.delysid.org> <87n0evnxp8.fsf@tleepslib.sk.tsukuba.ac.jp> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1059646071 20384 80.91.224.249 (31 Jul 2003 10:07:51 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 31 Jul 2003 10:07:51 +0000 (UTC) Cc: Mario Lang , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu Jul 31 12:07:48 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19iALK-0005HY-00 for ; Thu, 31 Jul 2003 12:07:30 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19iANi-0002I8-00 for ; Thu, 31 Jul 2003 12:09:59 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19iAJk-0005sc-TZ for emacs-devel@quimby.gnus.org; Thu, 31 Jul 2003 06:05:52 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19iAEb-0003Ol-L9 for emacs-devel@gnu.org; Thu, 31 Jul 2003 06:00:33 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19iAEF-0003Jz-GW for emacs-devel@gnu.org; Thu, 31 Jul 2003 06:00:12 -0400 Original-Received: from tleepslib.sk.tsukuba.ac.jp ([130.158.98.109]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19iADd-00035k-PX; Thu, 31 Jul 2003 05:59:34 -0400 Original-Received: from steve by tleepslib.sk.tsukuba.ac.jp with local (Exim 3.36 #1 (Debian)) id 19iADa-00057f-00; Thu, 31 Jul 2003 18:59:30 +0900 Original-To: David Kastrup In-Reply-To: (David Kastrup's message of "31 Jul 2003 09:56:51 +0200") User-Agent: Gnus/5.1001 (Gnus v5.10.1) XEmacs/21.4 (Portable Code, linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:15751 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:15751 >>>>> "David" == David Kastrup writes: David> "Stephen J. Turnbull" writes: >> >>>>> "Mario" == Mario Lang writes: Mario> Emacs is my favourite User Interface, so I'd like to Mario> eventually make those bindings available to elisp. >> XEmacs supports dynamically loadable extension modules David> Should the model lend itself to Emacs easily, or are there David> specialities involved with the memory organization/garbage David> collection/call semantics and whatever else would sound David> like it was heavily dependent on the specifics of David> internals? AFAIK it's actually not very difficult on most modern Unix platforms, including Mac OS X. The main technical issues are about how to handle module unloading, which is greatly desired by developer-users, and rather scary to those of us who have to support the product. AFAIK the main unsolved problem is what to do about module-local Lisp data if the module gets unloaded. Anyway, Emacs has had dynamically loading support for several years, it's just that the maintainers refused to apply the patch. I suppose that the patches for 20.x probably can be updated for 21.x. Sorry, I don't know where they are, and unfortunately Debian has apparently removed its package versions, too. -- Institute of Policy and Planning Sciences http://turnbull.sk.tsukuba.ac.jp University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN Ask not how you can "do" free software business; ask what your business can "do for" free software.