aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-11-24 02:53:25 +0000
committerdos-reis <gdr@axiomatics.org>2008-11-24 02:53:25 +0000
commit5b693510bb2368f453b71086fcd1916cee7fea82 (patch)
tree15f3680440bfa6293ceaa341cd73116bffc768d3 /src/interp
parent81dc2af2e2cab54deda566b72949d3d58ee532bf (diff)
downloadopen-axiom-5b693510bb2368f453b71086fcd1916cee7fea82.tar.gz
* interp/i-output.boot ($RecordSeparator): New.
(maprin): Use it. Separate record in lean mode. * interp/sys-globals.boot ($leanMode): Define. * interp/sys-driver.boot (systemMain): Initialize. * interp/ht-util.boot (executeInterpreterCommand): Print prompt only in non-lean mode. * interp/int-top.boot (SpadInterpretStream): Likewise. (intloopReadConsole): Likewise. * interp/metalex.lisp (get-a-line): Likewise. * interp/server.boot: Likewise.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/ht-util.boot2
-rw-r--r--src/interp/i-output.boot6
-rw-r--r--src/interp/int-top.boot8
-rw-r--r--src/interp/metalex.lisp3
-rw-r--r--src/interp/server.boot8
-rw-r--r--src/interp/sys-driver.boot4
-rw-r--r--src/interp/sys-globals.boot3
7 files changed, 23 insertions, 11 deletions
diff --git a/src/interp/ht-util.boot b/src/interp/ht-util.boot
index 21d78e58..ab6f8db8 100644
--- a/src/interp/ht-util.boot
+++ b/src/interp/ht-util.boot
@@ -474,7 +474,7 @@ executeInterpreterCommand command ==
TERPRI()
ncSetCurrentLine(command)
CATCH($SpadReaderTag, parseAndInterpret command)
- printPrompt "andFlush"
+ not $leanMode and printPrompt "andFlush"
typeCheckInputAreas htPage ==
-- This needs to be severly beefed up
diff --git a/src/interp/i-output.boot b/src/interp/i-output.boot
index 4d4841a1..806aa8a7 100644
--- a/src/interp/i-output.boot
+++ b/src/interp/i-output.boot
@@ -164,6 +164,10 @@ $plainRTspecialCharacters == [
'_\ -- back slash
]
+++ End of Transmission character; usually to the Algebra Output
+++ Stream in lean mode.
+$RecordSeparator == CODE_-CHAR 30
+
makeCharacter n ==> INTERN(STRING(CODE_-CHAR n))
$RTspecialCharacters == [
@@ -1122,6 +1126,8 @@ maprinSpecial(x,$MARGIN,$LINELENGTH) == maprin0 x
maprin x ==
if $demoFlag=true then recordOrCompareDemoResult x
CATCH('output,maprin0 x)
+ $leanMode and
+ WRITE($RecordSeparator,KEYWORD::STREAM,$algebraOutputStream)
nil
maprin0 x ==
diff --git a/src/interp/int-top.boot b/src/interp/int-top.boot
index 17c08196..8c7df1e8 100644
--- a/src/interp/int-top.boot
+++ b/src/interp/int-top.boot
@@ -134,7 +134,7 @@ SpadInterpretStream(str, source, interactive?) ==
$promptMsg : local := 'S2CTP023
interactive? =>
- printPrompt()
+ not $leanMode and printPrompt()
intloopReadConsole('"", str)
[]
intloopInclude (source,0)
@@ -146,19 +146,19 @@ intloopReadConsole(b, n)==
a:= serverReadLine $InputStream
not STRINGP a => leaveScratchpad()
#a=0 =>
- printPrompt()
+ not $leanMode and printPrompt()
intloopReadConsole('"", n)
pfx := stripSpaces intloopPrefix?('")fi",a)
pfx and ((pfx = '")fi") or (pfx = '")fin")) => []
b = '"" and (d := intloopPrefix?('")", a)) =>
setCurrentLine d
c := ncloopCommand(d,n)
- printPrompt()
+ not $leanMode and printPrompt()
intloopReadConsole('"", c)
a:=CONCAT(b,a)
ncloopEscaped a => intloopReadConsole(SUBSEQ(a, 0, (LENGTH a) - 1),n)
c := intloopProcessString(a, n)
- printPrompt()
+ not $leanMode and printPrompt()
intloopReadConsole('"", c)
intloopPrefix?(prefix,whole) ==
diff --git a/src/interp/metalex.lisp b/src/interp/metalex.lisp
index 8583158a..2c1dd294 100644
--- a/src/interp/metalex.lisp
+++ b/src/interp/metalex.lisp
@@ -179,7 +179,8 @@
:adjustable t :initial-contents s))))
(defun get-a-line (stream)
- (if (IS-CONSOLE stream) (|printPrompt|))
+ (if (and (IS-CONSOLE stream) (not |$leanMode|))
+ (|printPrompt|))
(let ((ll (read-a-line stream)))
(if (stringp ll) (make-string-adjustable ll) ll)))
diff --git a/src/interp/server.boot b/src/interp/server.boot
index 6e0ee514..9c37a0d2 100644
--- a/src/interp/server.boot
+++ b/src/interp/server.boot
@@ -90,7 +90,7 @@ serverReadLine(stream) ==
stringBuf := sockGetString $MenuServer
CATCH('coerceFailure,CATCH($intTopLevel, CATCH($SpadReaderTag,
parseAndInterpret stringBuf)))
- printPrompt "andFlush"
+ not $leanMode and printPrompt "andFlush"
action = $NonSmanSession =>
$SpadServer := nil
action = $KillLispSystem =>
@@ -121,13 +121,13 @@ serverLoop() ==
IN_-STREAM: fluid := $InputStream
_*EOF_*: fluid := NIL
while not $EndServerSession and not _*EOF_* repeat
- if $Prompt then printPrompt "andFlush"
+ if $Prompt and not $leanMode then printPrompt "andFlush"
$Prompt := NIL
action := serverSwitch()
action = $CallInterp =>
CATCH('coerceFailure,CATCH($intTopLevel, CATCH($SpadReaderTag,
parseAndInterpret read_-line($InputStream) )))
- printPrompt "andFlush"
+ not $leanMode and printPrompt "andFlush"
sockSendInt($SessionManager, $EndOfOutput)
action = $CreateFrame =>
frameName := GENSYM('"frame")
@@ -153,7 +153,7 @@ serverLoop() ==
stringBuf := sockGetString $MenuServer
CATCH('coerceFailure,CATCH($intTopLevel, CATCH($SpadReaderTag,
parseAndInterpret stringBuf)))
- printPrompt "andFlush"
+ not $leanMode and printPrompt "andFlush"
sockSendInt($SessionManager, $EndOfOutput)
NIL
if _*EOF_* then $Prompt := true
diff --git a/src/interp/sys-driver.boot b/src/interp/sys-driver.boot
index 9a53ca2f..69d97844 100644
--- a/src/interp/sys-driver.boot
+++ b/src/interp/sys-driver.boot
@@ -299,6 +299,8 @@ systemMain() ==
AxiomCore::topLevel()
REROOT()
-- ??? Make this call unconditional
- if $StandardLinking then initializeGlobalState()
+ if $StandardLinking then
+ initializeGlobalState()
+ $leanMode := getOptionValue "mode" = '"lean"
%basicSystemIsComplete() => restart()
fatalError '"fell off systemMain"
diff --git a/src/interp/sys-globals.boot b/src/interp/sys-globals.boot
index 5f71143d..c90028e7 100644
--- a/src/interp/sys-globals.boot
+++ b/src/interp/sys-globals.boot
@@ -492,3 +492,6 @@ $compileExportsOnly := false
++ of category defaults only. This is meaningful only when
++ compiling categories.
$compileDefaultsOnly := false
+
+++
+$leanMode := false