diff --git a/basis/io/launcher/launcher.factor b/basis/io/launcher/launcher.factor index a56a97294aa..f82929fd153 100644 --- a/basis/io/launcher/launcher.factor +++ b/basis/io/launcher/launcher.factor @@ -236,6 +236,9 @@ PRIVATE> : with-process-reader ( desc encoding quot -- ) with-process-reader* check-success ; inline +: process-lines ( desc -- lines ) + utf8 stream-lines ; + >command [ "err2" ".txt" unique-file ] with-temp-directory [ err-path set-global ] keep >>stderr - utf8 stream-lines first + process-lines first ] with-directory ] unit-test diff --git a/extra/cli/git/git.factor b/extra/cli/git/git.factor index 03c8cbeabbd..f91ad6aa232 100644 --- a/extra/cli/git/git.factor +++ b/extra/cli/git/git.factor @@ -12,9 +12,6 @@ cli-git-num-parallel [ cpus 2 * ] initialize : git-command>string ( quot -- string ) utf8 stream-contents [ blank? ] trim-tail ; -: git-command>lines ( quot -- string ) - utf8 stream-lines ; - : git-clone-as ( uri path -- process ) [ { "git" "clone" } ] 2dip 2array append run-process ; : git-clone ( uri -- process ) [ { "git" "clone" } ] dip suffix run-process ; : git-pull* ( -- process ) { "git" "pull" } run-process ; @@ -36,7 +33,7 @@ cli-git-num-parallel [ cpus 2 * ] initialize : git-rev-parse* ( branch -- string ) [ { "git" "rev-parse" } ] dip suffix git-command>string ; : git-rev-parse ( path branch -- string ) '[ _ git-rev-parse* ] with-directory ; : git-diff-name-only* ( from to -- lines ) - [ { "git" "diff" "--name-only" } ] 2dip 2array append git-command>lines ; + [ { "git" "diff" "--name-only" } ] 2dip 2array append process-lines ; : git-diff-name-only ( path from to -- lines ) '[ _ _ git-diff-name-only* ] with-directory ;