Commit 07fd8564 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

Fix a corner case in run-program when using :output t on sbcl & al.

Add a test case.
(Issue: %active-io-specifier-p takes a non-normalized argument.)
parent 9469d52b
......@@ -74,6 +74,9 @@
(assert-equal '(:ok 1) (run-program '("echo" ":ok 1") :output :forms))
(assert-equal (format nil "ok 1~%") (remove-cr (run-program '("echo" "ok 1") :output :string)))
(assert-equal (format nil "ok~%")
(remove-cr (with-output-to-string (*standard-output*)
(run-program "echo ok" :output t :error-output :output))))
;;#+allegro (trace excl:run-shell-command sys:reap-os-subprocess)
;;#+lispworks (trace system:run-shell-command system:pid-exit-status)
......
......@@ -370,7 +370,7 @@ for the implementation's underlying run-program function"
via SLURP-INPUT-STREAM or VOMIT-OUTPUT-STREAM (return T),
or whether it's already taken care of by the implementation's underlying run-program."
(not (typep specifier '(or null string pathname (member :interactive :output)
#+(or cmu sbcl scl) stream
#+(or cmu sbcl scl) (or stream (eql t))
#+lispworks file-stream)))) ;; not a type!? comm:socket-stream
(defun %normalize-io-specifier (specifier &optional role)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment