A message from November 2006 explains the issue of REPL channels, which are assigned to threads when they try to do input or output. I have
(repl-result-history-max-length-set! 10)
in my .gambcini file, and according to my tests that is enough to assign a REPL channel to the primordial thread, which means the primordial-thread version of the startup code in web-repl.scm won't work (I/O goes to the UNIX terminal that started gsi). Is there any way to do the same customization without assigning the channel?
The threaded version of the startup code has a different problem. I run the server and the client, and the first-level REPL appears in the client window. If I send input that causes an error, the second- level REPL doesn't appear in the client window or at the server's terminal. Interestingly, I can use ^C at the server's terminal to interrupt the client, and each time some thread-switching logic assigns a new thread (but not the second-level REPL I want) to the client.
-- Derek