public inbox for guile-emacs@sourceware.org
 help / color / mirror / Atom feed
From: Ken Raeburn <raeburn@raeburn.org>
To: Keisuke Nishida <kxn30@po.cwru.edu>
Cc: Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>,
	guile-emacs@sourceware.cygnus.com
Subject: Re: Emacs Scheme interface
Date: Tue, 28 Mar 2000 11:37:00 -0000	[thread overview]
Message-ID: <tx11z4uga2y.fsf@raeburn.org> (raw)
In-Reply-To: <m3d7oft0gp.fsf@kei.cwru.edu>

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

  reply	other threads:[~2000-03-28 11:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-27 22:51 Keisuke Nishida
2000-03-28  4:01 ` Kalle Olavi Niemitalo
2000-03-28 10:27   ` Keisuke Nishida
2000-03-28 11:37     ` Ken Raeburn [this message]
2000-03-28 23:06     ` Kalle Olavi Niemitalo
2000-03-29 16:57       ` Keisuke Nishida
2000-03-28 11:43 ` Kalle Olavi Niemitalo
2000-03-28 12:23   ` Keisuke Nishida
2000-03-29  2:33     ` Kalle Olavi Niemitalo
2000-03-29 17:09       ` Keisuke Nishida
2000-04-30 12:08         ` Kalle Olavi Niemitalo
2000-03-31 17:48 ` Keisuke Nishida
2000-03-31 22:42   ` Klaus Schilling
2000-04-01  9:02     ` Keisuke Nishida

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tx11z4uga2y.fsf@raeburn.org \
    --to=raeburn@raeburn.org \
    --cc=guile-emacs@sourceware.cygnus.com \
    --cc=kxn30@po.cwru.edu \
    --cc=tosi@ees2.oulu.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).