aboutsummaryrefslogtreecommitdiff
path: root/src/interp/int-top.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/int-top.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/int-top.boot')
-rw-r--r--src/interp/int-top.boot28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/interp/int-top.boot b/src/interp/int-top.boot
index 90455fae..a200fc17 100644
--- a/src/interp/int-top.boot
+++ b/src/interp/int-top.boot
@@ -44,14 +44,9 @@ ncParseFromString s ==
zeroOneTran packageTran CATCH($SpadReaderTag, parseFromString s)
ncINTERPFILE(file, echo) ==
- savedEcho := $EchoLines
- savedReadingFile := $ReadingFile
- $EchoLines: fluid := echo
- $ReadingFile: fluid := true
- result := SpadInterpretFile file
- $EchoLines := savedEcho
- $ReadingFile := savedReadingFile
- result
+ $EchoLines: local := echo
+ $ReadingFile: local := true
+ SpadInterpretFile file
ncGetFunction(op, dom, sig) ==
applyInPackage(function getNCfunction,_
@@ -150,6 +145,9 @@ SpadInterpretStream(str, source, interactive?) ==
-----------------------------------------------------------------
+SpadInterpretFile fn ==
+ SpadInterpretStream(1, fn, nil)
+
intloopReadConsole(b, n)==
a:= serverReadLine $InputStream
not string? a => leaveScratchpad()
@@ -324,15 +322,15 @@ streamChop(n,s)==
[[d,:a],b]
ncloopPrintLines lines ==
- for line in lines repeat writeLine rest line
- writeLine '" "
+ for line in lines repeat writeLine(rest line,$OutputStream)
+ writeLine('" ",$OutputStream)
ncloopIncFileName string==
- fn := incFileName string
- not fn =>
- writeLine (strconc(string, '" not found"))
- []
- fn
+ fn := incFileName string
+ not fn =>
+ writeLine(strconc(string, '" not found"),$ErrorStream)
+ []
+ fn
ncloopParse s==
[dq,stream]:=first s