[slime-devel] cmucl/multiprocessing

Helmut Eller e9626484 at stud3.tuwien.ac.at
Wed May 12 14:17:09 UTC 2004


Gabor Melis <mega at hotpop.com> writes:

> That mostly helps. However, sldb-show-source has become erratic: sometimes it 
> doesn't do anything on the first invocation and then shows the wrong 
> file/form on the subsequent ones.

I guess that's because the debugger keeps a pointer into the control
stack, but CMUCL copies the stacks forth and back to schedule
different threads.  The pointer for the frame is probably not updated
and has no meaning in the other thread.  A wonder that CMUCL didn't
crash.

I think the CMUCL debugger disables scheduling, perhaps for this
reason.

>> This is a bit difficult to fix properly and I don't have enough
>> motivation to do that at the moment.
>
> Is it the bookkeeping code for slime-[input | output]-[start | end] that's 
> wrong?

Yes.  The current code only works if the marks are separated by the
prompt.  But in this situation all markers are at the same position.
The marks must be moved differently for input from the user and for
output form the Lisp process.  Setting the insertion types of the
markers is not enough.  It's probably the easiest to use
insert-before-markers (not sure if that exists in XEmacs) to insert
output from Lisp and to change the insertion-types so that user input
is handled correctly.

Helmut.





More information about the slime-devel mailing list