This is the mail archive of the guile-emacs@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Emacs Scheme interface


Keisuke Nishida <kxn30@po.cwru.edu> writes:
> > I would really like thread support in Emacs Scheme.  Multiple
> > threads should be able to process different buffers at the same
> > time.  Perhaps the "current buffer" should be thread-local.
> Me too, but as long as we use the current Lisp functions, it may be
> hard to work around...  Have you tried Guile's multithread supoprt
> with Guile Emacs?  Does it work well?

It won't if you try using Lisp in more than one thread -- dynamic
variable bindings (function arguments, "let") are implemented in a way
that is thread-unfriendly.  That's one of the reasons I decided to
start by converting the lower-level code to use Guile -- to get clean,
working threads.

If you only use Scheme in the extra threads, it might be okay, but
there are places where Emacs can invoke Lisp code from signal
handlers.  (Sad but true.)  I've no idea what impact that would have.

Emacs 21, it appears, will have conservative GC that scans the stack.
So switching stacks out from under it would be really unfriendly.

Once we get to the point of being able to provide multiple threads in
Lisp, we still have to figure out what the UI effects should be...

Ken

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]