aboutsummaryrefslogtreecommitdiff
path: root/src/interp/sys-driver.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-11-30 07:58:43 +0000
committerdos-reis <gdr@axiomatics.org>2010-11-30 07:58:43 +0000
commit816865ca0322b9d413aaf562cbf5dd648f9c1038 (patch)
treebad734df4facb483e57f0922942d355939c3146a /src/interp/sys-driver.boot
parentc81dbb595ec1d8352d3cfd420ef1b6926b861a78 (diff)
downloadopen-axiom-816865ca0322b9d413aaf562cbf5dd648f9c1038.tar.gz
Fix SF/2110371
* interp/i-toplev.boot (recordAndPrint): Tidy. (SpadInterpretFile): Move to int-top.boot. * interp/int-top.boot (ncINTERPFILE): Simplify. (ncloopPrintLines): Output onto the standard output stream. (ncloopIncFileName): Issue diagnostic on error output stream. * interp/setvars.boot (setOutputAlgebra): Fix thinko. (setStandardOutputToAlgebraStream): New. * interp/sys-driver.boot (executeSpadScript): Use it. Set verbosity level as appropriate. Redirect output if requested.
Diffstat (limited to 'src/interp/sys-driver.boot')
-rw-r--r--src/interp/sys-driver.boot27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/interp/sys-driver.boot b/src/interp/sys-driver.boot
index fa76a020..f450e397 100644
--- a/src/interp/sys-driver.boot
+++ b/src/interp/sys-driver.boot
@@ -246,17 +246,26 @@ initializeGlobalState() ==
++ execute Spad script
executeSpadScript(progname,options,file) ==
- $displayStartMsgs := false
+ -- By default, we want script execution to be as quiet as possible.
+ $displayStartMsgs: local := false
+ -- $ProcessInteractiveValue: local := true
+ $verbose: local := false
initializeGlobalState()
- if $verbose then
- $options := []
- $ProcessInteractiveValue := false
- else
- $options := [["quiet"]]
- $ProcessInteractiveValue := true
- $PrintCompilerMessageIfTrue := $verbose
+ outfile := getOptionValue "output"
+ talkative := outfile or $verbose
+ setOutputAlgebra [(talkative => 'on; 'off)]
+ -- FIXME: redirect standard output to null if not talkative
+ $printVoidIfTrue: local := talkative
+ $printTypeIfTrue: local := talkative
+ $options :=
+ talkative => []
+ [["quiet"]]
+ $PrintCompilerMessageIfTrue: local := talkative
+ if outfile ~= nil then
+ setOutputAlgebra [outfile]
+ setStandardOutputToAlgebraStream()
CATCH($intCoerceFailure,
- CATCH($SpadReaderTag,read [file]))
+ CATCH($SpadReaderTag,read [file]))
coreQuit (errorCount()> 0 => 1; 0)
associateRequestWithFileType(Option '"script", '"input",