diff options
author | dos-reis <gdr@axiomatics.org> | 2010-11-30 07:58:43 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-11-30 07:58:43 +0000 |
commit | 816865ca0322b9d413aaf562cbf5dd648f9c1038 (patch) | |
tree | bad734df4facb483e57f0922942d355939c3146a /src/interp/sys-driver.boot | |
parent | c81dbb595ec1d8352d3cfd420ef1b6926b861a78 (diff) | |
download | open-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.boot | 27 |
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", |