I'm not sure if this is something that can be worked around in cmd, but it is not possible to get at the process-info of a condition being signalled with the synchronous uiop:run-program. My idea was that I could pass an :error-output string/stream, and get at it when handling a condition, but by that point the process has already exited, and uiop has cleaned up its state.
I guess uiop does something similar to (run-program) (when error (cleanup) (signal))), so when the subprocess-error condition is signalled, its process slot is already nil.
Is there any way to work around this? I really would like to get the stderr output in a condition handler.