- (let*
- ((*default-pathname-defaults* (pathname work-dir))
- (*error-output* (make-broadcast-stream))
- (output
- (with-output-to-string (*standard-output*)
- (setf result (candle:run)))))
- (sb-ext:delete-directory work-dir :recursive t)
- (values result output))))
+ (setf out
+ (with-output-to-string (out-str)
+ (setf code
+ (sb-ext:process-exit-code
+ (sb-ext:run-program
+ *candle-location*
+ (list "run")
+ :directory work-dir
+ :output out-str
+ :error out-str
+ :wait t)))))
+ (values (zerop code) out)))