"E. Tyurin" evgeny@tyurin.com writes:
Error in function COMMON-LISP::ASSERT-ERROR: Short read: length=5910572 pos=28]
Any suggestions??
This is a bug in CMUCL's read-sequence and has been fixed in newer CMUCLs. I added a workaround for 18e in the latest SLIME version. You can either update SLIME or add the code below to your .cmucl-init.lisp.
Helmut.
(in-package :lisp)
(defun read-into-simple-string (s stream start end) (declare (type simple-string s)) (declare (type stream stream)) (declare (type index start end)) (unless (subtypep (stream-element-type stream) 'character) (error 'type-error :datum (read-char stream nil #\Null) :expected-type (stream-element-type stream) :format-control "Trying to read characters from a binary stream.")) ;; Let's go as low level as it seems reasonable. (let* ((numbytes (- end start)) (bytes-read (system:read-n-bytes stream s start numbytes t))) (if (< bytes-read numbytes) (+ start bytes-read) end)))