OK, thanks for all the help. Valuable lessons learned:
The conversation between *slime-repl* and CMUCL is not handled by EXT:INTERACTIVE-EVAL; therefore, if I want to wrap it, I should do it in the *inferior-lisp* buffer. Similarly for mp::startup-idle-and-top-level-loops. Also, I had a mistaken idea of how a process was supposed to work. I was trying to define a process that merely called a function once and exited, imagining that the threading system would cause this function to be called again and again. Instead, I need to make a process that calls my function inside an infinite loop, and then yields somehow. My current confusion is I do not understand the tradeoffs betwen use sleep inside the process, as in Helmut Eller's example, or whether to use something like mp:process-yield. In my initial experiments, sleep seems to DWIW and process-yield doesn't, but I don't really know why. Cheers, rif
