From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Sat, 14 Feb 2015 14:37:32 +0200 Message-ID: <833868y8hf.fsf@gnu.org> References: <85oapy5kt6.fsf@stephe-leake.org> <83y4oiiw81.fsf@gnu.org> <838ugdf251.fsf@gnu.org> <54D80098.3020209@cs.ucla.edu> <54D85304.1030600@cs.ucla.edu> <54D9AC29.2020603@cs.ucla.edu> <54DA8539.1020905@cs.ucla.edu> <87zj8ktq8f.fsf@lifelogs.com> <54DD6413.1000403@cs.ucla.edu> <83wq3m436s.fsf@gnu.org> <54DDEB4D.5040300@dancol> <83egpt4zz6.fsf@gnu.org> <54DE12E9.5040606@dancol.org> <85twypiiug.fsf@stephe-leake.org> <83zj8g3n16.fsf@gnu.org> <87twyolm8k.fsf@uwakimon.sk.tsukuba.ac.jp> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1423917485 13661 80.91.229.3 (14 Feb 2015 12:38:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 14 Feb 2015 12:38:05 +0000 (UTC) Cc: stephen_leake@stephe-leake.org, emacs-devel@gnu.org To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Feb 14 13:37:57 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 1YMbyt-0002i0-6p for ged-emacs-devel@m.gmane.org; Sat, 14 Feb 2015 13:37:55 +0100 Original-Received: from localhost ([::1]:59587 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMbys-0000RP-CT for ged-emacs-devel@m.gmane.org; Sat, 14 Feb 2015 07:37:54 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58936) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMbyc-0000RJ-Ed for emacs-devel@gnu.org; Sat, 14 Feb 2015 07:37:43 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMbyX-0001PH-Me for emacs-devel@gnu.org; Sat, 14 Feb 2015 07:37:38 -0500 Original-Received: from mtaout29.012.net.il ([80.179.55.185]:36350) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMbyX-0001PA-9L for emacs-devel@gnu.org; Sat, 14 Feb 2015 07:37:33 -0500 Original-Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NJR00L00HEAGY00@mtaout29.012.net.il> for emacs-devel@gnu.org; Sat, 14 Feb 2015 14:33:35 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJR00B34HJZ0H90@mtaout29.012.net.il>; Sat, 14 Feb 2015 14:33:35 +0200 (IST) In-reply-to: <87twyolm8k.fsf@uwakimon.sk.tsukuba.ac.jp> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.185 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:183053 Archived-At: > From: "Stephen J. Turnbull" > Cc: Stephen Leake , > emacs-devel@gnu.org > Date: Sat, 14 Feb 2015 21:18:51 +0900 > > Eli Zaretskii writes: > > > From: Stephen Leake > > > Date: Fri, 13 Feb 2015 15:48:07 -0600 > > > > > > My use case requires calling lisp functions; in particular, > > > put-text-property, but also other higher-level lisp functions in > > > ada-mode. > > > > Why do you need to call Lisp in the module? I think it's a no-no for > > modules to call Lisp; that should be done in the Lisp code that uses > > the module. > > I don't understand. XEmacs's ELLs (dynamically loadable modules) have > no problem with calling Lisp (use Ffuncall) or using symbols (use > Fintern). The only requirement that I've seen expressed in this > thread that XEmacs ELLs don't satisfy is that a module should be > compilable for use with multiple versions of XEmacs This last requirement is what is being discussed here. The capability of creating Lisp objects depends on the internals, and AFAIU we would like to avoid having that dependency. > > Why does an implementation of a parser need to call Lisp? > > I can't give you a reason in the case of a parser, but in general > compiled Lisp functions may want to provide Lisp hooks, or implement > inner loops for simple functionality in C but do flexible handling of > more complex functionality in Lisp. I wasn't talking about using Lisp by modules, I was talking specifically about calling Lisp from C. Implementing new primitives for performance purposes doesn't need that, at least it isn't clear to me why it would.