If you run SBCL with --disable-debugger, the documentation says:

By default when SBCL encounters an error, it enters the builtin debugger, allowing interactive diagnosis and possible intercession. This option disables the debugger, causing errors to print a backtrace and exit with status 1 instead. When given, this option takes effect before loading of initialization files or processing --eval and --load options. See sb-ext:disable-debugger for details. See Debugger Entry.
However, when there is an unhandled error in a thread other
than the initial thread, SBCL does not exit.

Is this intentional?

I notice that make-thread does not use handling-end-of-the-world,
and if it did, then I think SBCL would exit in that case.


-- Dan