The output I included with my previous comment was unfortunately the mistake of a copy&paste issue.
This is the inconsistent output you would get with the current master branch:
==== UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE stdout UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE :FORCE-SHELL T stdout UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE stdout UIOP/RUN-PROGRAM:RUN-PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE stdout UIOP/RUN-PROGRAM:RUN-PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE :FORCE-SHELL T stdout UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE stdout
UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stdout.sh") :OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stdout.sh") :OUTPUT NIL :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stdout.sh") :OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM "./stdout.sh" :OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM "./stdout.sh" :OUTPUT NIL :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stdout.sh" :OUTPUT NIL
UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE UIOP/RUN-PROGRAM:RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE UIOP/RUN-PROGRAM:RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE
UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL
UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE stderr UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE :FORCE-SHELL T stderr UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE stderr UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE :FORCE-SHELL T stderr UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE
UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :OUTPUT NIL :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stderr.sh") :OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :OUTPUT NIL :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stderr.sh" :OUTPUT NIL
UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE stderr UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T stderr UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE stderr UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE stderr UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T stderr UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE stderr
UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL ====
This is the consistent output you get with the feature/consistent-program-defaults branch:
UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE UIOP/RUN-PROGRAM:RUN-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE UIOP/RUN-PROGRAM:RUN-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE :FORCE-SHELL T UIOP/RUN-PROGRAM:LAUNCH-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE
The output I included with my previous comment was unfortunately the mistake of a copy&paste issue.
This is the inconsistent output you would get with the current master branch:
==== PROGRAM: RUN-PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stdout.sh") :OUTPUT NIL PROGRAM: RUN-PROGRAM ("./stdout.sh") :OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stdout.sh") :OUTPUT NIL PROGRAM: RUN-PROGRAM "./stdout.sh" :OUTPUT NIL PROGRAM: RUN-PROGRAM "./stdout.sh" :OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stdout.sh" :OUTPUT NIL
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE
stderr
UIOP/RUN-
stderr
UIOP/RUN-
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stderr.sh") :OUTPUT NIL PROGRAM: RUN-PROGRAM ("./stderr.sh") :OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stderr.sh") :OUTPUT NIL PROGRAM: RUN-PROGRAM "./stderr.sh" :OUTPUT NIL PROGRAM: RUN-PROGRAM "./stderr.sh" :OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stderr.sh" :OUTPUT NIL
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE
stderr
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
====
This is the consistent output you get with the feature/ consistent- program- defaults branch:
==== PROGRAM: RUN-PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stdout.sh") :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stdout.sh" :OUTPUT :INTERACTIVE
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN-
stdout
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stdout.sh") :OUTPUT NIL PROGRAM: RUN-PROGRAM ("./stdout.sh") :OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stdout.sh") :OUTPUT NIL PROGRAM: RUN-PROGRAM "./stdout.sh" :OUTPUT NIL PROGRAM: RUN-PROGRAM "./stdout.sh" :OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stdout.sh" :OUTPUT NIL
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stdout.sh") :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stdout.sh" :ERROR-OUTPUT :INTERACTIVE
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stdout.sh") :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stdout.sh" :ERROR-OUTPUT NIL
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stderr.sh") :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stderr.sh" :OUTPUT :INTERACTIVE
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stderr.sh") :OUTPUT NIL PROGRAM: RUN-PROGRAM ("./stderr.sh") :OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stderr.sh") :OUTPUT NIL PROGRAM: RUN-PROGRAM "./stderr.sh" :OUTPUT NIL PROGRAM: RUN-PROGRAM "./stderr.sh" :OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stderr.sh" :OUTPUT NIL
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stderr.sh") :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE PROGRAM: RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stderr.sh" :ERROR-OUTPUT :INTERACTIVE
stderr
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN-
stderr
UIOP/RUN- PROGRAM: RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM ("./stderr.sh") :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL PROGRAM: RUN-PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL :FORCE-SHELL T PROGRAM: LAUNCH- PROGRAM "./stderr.sh" :ERROR-OUTPUT NIL
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
UIOP/RUN-
====