Hello everybody,
The readers/parsers are complete, and the custom repl is almost complete too.
The backend to execute commands as a shell is coming up nicely too, thanks to the C ffi :)
I am experiencing a difficulty with the custom repl I wrote:
it is started from C with
Scall0(Stop_level_value(Sstring_to_symbol("repl")));
which bypasses the usual Chez repl (new-cafe).
For this reason, the code in (new-cafe) setting thread parameter ($interrupt) to waiter-interrupt is not executed, thus (break) and (keyboard-interrupt-handler), which internally call ($interrupt), do nothing and return immediately.
I would like (break) and (keyboard-interrupt-handler) to work in my repl as they do in the default repl (new-cafe).
How can I do that?
Some ideas coming to my mind could be:
* Is there any way to retrieve the value of waiter-interrupt ? It seems unexported.
* In alternative, is there a programmatic API to invoke (new-cafe) and instruct it to just call my custom (repl) instead of its usual behavior ?
* I guess in the worst case I could reimplement waiter-interrupt myself - it seems simple enough - but feels a hack to me.
Thanks,
Massimiliano Ghilardi