RUN-PROGRAM and error output

Jason Miller jason at
Fri Sep 9 17:44:40 UTC 2016


A lot of times the most useful information when an external program
returns an error is the stderr output.  However, I can't figure out any
way to get this without setting :ignore-error-status to T.

In particular I feel things would be strictly better if every invocation
of the form:

  (run-program ... :error-output t)
Acted more like:

  (let ((result (multiple-value-list (run-program
                                       :error-output t
                                       :ignore-error-status t))))
    (when (not (zerop (caddr result))) (cerror ...))
    (values-list result))

The former prints no output to *error-output* in the event of non-zero
return, but the latter prints all the output.

There may be a better way of doing this (including the error file or
output in the condition object perhaps?), so I'm open to alternatives.
Any thoughts?


More information about the asdf-devel mailing list