aboutsummaryrefslogtreecommitdiff
path: root/src/interp/spad-parser.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/spad-parser.boot')
-rw-r--r--src/interp/spad-parser.boot16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/interp/spad-parser.boot b/src/interp/spad-parser.boot
index e9e6b6b5..3076f91c 100644
--- a/src/interp/spad-parser.boot
+++ b/src/interp/spad-parser.boot
@@ -139,6 +139,22 @@ preparseReadLine x ==
z
z
+preparseReadLine1 x ==
+ if $LineList then
+ [line,:$LineList] := $LineList
+ else
+ line := expandLeadingTabs readLine IN_-STREAM
+ $preparseLastLine := line
+ not string? line => [$INDEX]
+ $INDEX := $INDEX + 1
+ line := trimTrailingBlank line
+ $EchoLineStack := [copyString line,:$EchoLineStack]
+ n := $INDEX
+ if #line > 0 and line.maxIndex(line) = char "__" then
+ line := strconc(subString(line,0,maxIndex line),rest preparseReadLine1 x)
+ $preparseLastLine := line
+ [n,:line]
+
preparseEcho lines ==
if $Echo then
for x in reverse lines repeat