diff options
Diffstat (limited to 'src/interp/spad-parser.boot')
-rw-r--r-- | src/interp/spad-parser.boot | 16 |
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 |