From: Rolf W. <we...@il...> - 2001-09-05 12:09:27
|
Hi, I'm using CLISP on Windows NT. When running: (defun read-file (name) (let ((x (make-array '(1046529) :element-type :single-float :initial-element 0.0 :fill-pointer 0 :adjustable t)) (y (make-array '(1046529) :element-type :single-float :initial-element 0.0 :fill-pointer 0 :adjustable t)) (z (make-array '(1046529) :element-type :single-float :initial-element 0.0 :fill-pointer 0 :adjustable t))) (with-open-file (in name) (do ((xx (read in nil 'eof) (read in nil 'eof)) (yy (read in nil 'eof) (read in nil 'eof)) (zz (read in nil 'eof) (read in nil 'eof))) ((eql zz 'eof)) (progn (vector-push-extend xx x) (vector-push-extend yy y) (vector-push-extend zz z)))) (values x y z))) (compile 'read-file) (setf result (multiple-value-bind (mx my mz) (read-file "big_file.txt") (list mx my mz))) (progn (setq result (multiple-value-call #'list (read-file "big_file.txt"))) nil) on a big file (about 27 MB) I get the message: *** - Program stack overflow. RESET *** - Program stack overflow. RESET and so on. With a small file everything works as expected. I originally posted this to comp.lang.lisp and got an answer from Sam Steingold. He wrote: > I am pretty sure this is the printer problem: you probably have > *print-circle* set to T or something. *print-circle* is set to NIL. >try >(progn >(setq result (multiple-value-call #'list (read-file "big_file.txt"))) >nil) I tried this but got the same error messages as before. I would be very appreciative for help. Rolf Wester ------------------------------------- Rolf Wester we...@il... |