emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dynamic loading progress


From: Stephen J. Turnbull
Subject: Re: Dynamic loading progress
Date: Sat, 14 Feb 2015 21:18:51 +0900

Eli Zaretskii writes:
 > > From: Stephen Leake <address@hidden>
 > > 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 (of course modules
actually work with multiple versions, but that's not officially
supported).

XEmacs also doesn't really support unloading, although there's an
unload function (there is no real guarantee that everything of
interest will be cleaned), but I can't really see why that's an
important requirement.  It's mostly a convenience to enable a fast
compile-load-test-unload cycle, and if it works half the time, it's a
significant saving over compile-restart-load-test.

 > > I need a compiled module to implement an LALR parser for the Ada
 > > language that is fast enough for very large files.
 > 
 > 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.  Perhaps a similar motivation is
relevant to the Ada parser.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]