From: Nikodemus Siivola Date: Thu, 30 Sep 2010 08:21:22 +0000 (+0000) Subject: 1.0.43.5: add :EXTERNAL-FORMAT argument to RUN-PROGRAM X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=a6da3f313e44f757a24834b347b3beabdc7a5f10;p=sbcl.git 1.0.43.5: add :EXTERNAL-FORMAT argument to RUN-PROGRAM Selects the encoding for :INPUT, :OUTPUT, and :ERROR :STREAMs. --- diff --git a/NEWS b/NEWS index fc54907..2aef54f 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,7 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- changes relative to sbcl-1.0.43: + * enhancement: RUN-PROGRAM accepts :EXTERNAL-FORMAT argument to select the + external-format for its :INPUT, :OUTPUT, AND :ERROR :STREAMs. * bug fix: compiler failed to derive the result-type of MAKE-ARRAY as (AND VECTOR (NOT SIMPLE-ARRAY)) when appropriate. (lp#309130) * bug fix: (THE (VALUES ...)) in LOAD-TIME-VALUE caused a compiler-error. diff --git a/src/code/run-program.lisp b/src/code/run-program.lisp index 1b9b310..8dd754a 100644 --- a/src/code/run-program.lisp +++ b/src/code/run-program.lisp @@ -578,7 +578,8 @@ status slot." (if-output-exists :error) (error :output) (if-error-exists :error) - status-hook) + status-hook + (external-format :default)) #+sb-doc #.(concatenate 'string @@ -661,7 +662,9 @@ Users Manual for details about the PROCESS structure."#-win32" same place as normal output. :STATUS-HOOK This is a function the system calls whenever the status of the - process changes. The function takes the process as an argument.") + process changes. The function takes the process as an argument. + :EXTERNAL-FORMAT + The external-format to use for :INPUT, :OUTPUT, and :ERROR :STREAMs.") #-win32 (when (and env-p environment-p) (error "can't specify :ENV and :ENVIRONMENT simultaneously")) @@ -733,18 +736,18 @@ Users Manual for details about the PROCESS structure."#-win32" input cookie :direction :input :if-does-not-exist if-input-does-not-exist - :external-format :default + :external-format external-format :wait wait) (with-fd-and-stream-for ((stdout output-stream) :output output cookie :direction :output :if-exists if-output-exists - :external-format :default) + :external-format external-format) (with-fd-and-stream-for ((stderr error-stream) :error error cookie :direction :output :if-exists if-error-exists - :external-format :default) + :external-format external-format) (with-open-pty ((pty-name pty-stream) (pty cookie)) ;; Make sure we are not notified about the child ;; death before we have installed the PROCESS diff --git a/version.lisp-expr b/version.lisp-expr index 81d2bac..3bf3152 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.43.4" +"1.0.43.5"