Commit 1d0adefe authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

Fix interactive launch-program on ECL

Just as with %use-system, we need to restore the original *stdin*, etc.,
around calls to run-program for :interactive to work properly
and not behave in a funky way in e.g. SLIME.
parent dadf2b7f
......@@ -505,6 +505,9 @@ LAUNCH-PROGRAM returns a PROCESS-INFO object."
(%handle-if-does-not-exist input if-input-does-not-exist)
(%handle-if-exists output if-output-exists)
(%handle-if-exists error-output if-error-output-exists))
#+ecl (let ((*standard-input* *stdin*)
(*standard-output* *stdout*)
(*error-output* *stderr*)))
  • This looks a bit funny because the let does not have a body. Is that intentional?

  • It's intentionally in a giant (nest ...) form so as to have optional #+... nesting blocks like this.

  • Oh. I fell for nest again! Indeed, the code is entirely correct. I just missed the nest immediately above this piece of code (but not shown in the diff view) which requires one to read theses lines of code entirely differently.

Please register or sign in to reply
(let ((process-info (make-instance 'process-info))
(input (%normalize-io-specifier input :input))
(output (%normalize-io-specifier output :output))
......
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