diff options
Diffstat (limited to 'src/interp/spad.lisp')
-rw-r--r-- | src/interp/spad.lisp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/interp/spad.lisp b/src/interp/spad.lisp index e0ccf4be..13e21e27 100644 --- a/src/interp/spad.lisp +++ b/src/interp/spad.lisp @@ -58,11 +58,11 @@ (defvar MARG 0 "Margin for testing by ?OP") (defvar |uc| 'UC) -(defun init-boot/spad-reader () +(defun init-boot/spad-reader (rd) (setq $SPAD_ERRORS (VECTOR 0 0 0)) (setq SPADERRORSTREAM |$OutputStream|) (|nextLinesClear!|) - (|ioClear!|)) + (|ioClear!| rd)) (defun spad (ifile &aux @@ -83,11 +83,11 @@ `((FLUID . |true|) (|special| . ,(COPY-TREE |$InitialDomainsInScope|))) (|addBinding| '|$Information| NIL (|makeInitialModemapFrame|))))) - (init-boot/spad-reader) (unwind-protect (progn (setq in-stream (open ifile :direction :input)) (setq rd (|makeReader| in-stream)) + (init-boot/spad-reader rd) (initialize-preparse rd) (setq out-stream |$OutputStream|) (loop @@ -100,14 +100,14 @@ (when |$lineStack| (let ((LINE (cdar |$lineStack|))) (declare (special LINE)) - (|parseNewExpr|) + (|parseNewExpr| rd) (let ((parseout (|popStack1|)) ) (when parseout (let ((|$OutputStream| out-stream)) (|translateSpad| parseout)) (format out-stream "~&"))) )))) - (|ioClear!|))) + (|ioClear!| rd))) (shut in-stream)) T)) |