[alexandria-devel] broken LOOP forms

Greg Pfeil greg at technomadic.org
Mon Mar 19 18:07:55 UTC 2012


Alexandria (QL version) doesn't compile on ECL and warns on CLISP because invalid LOOP forms are used in (at least) COPY-STREAM. EG:

	(loop
	   :while (< input-position start)
	   :for bytes-read = (read-sequence buffer input
	                                    :end (min (length buffer)
	                                              (- start input-position)))
	   :do (progn
	         (when (zerop bytes-read)
	           (error "Could not read enough bytes from the input to fulfill the START requirement in ~S" 'copy-stream))
	         (incf input-position bytes-read)))

And I _think_ according to http://www.lispworks.com/documentation/HyperSpec/Body/m_loop.htm, the :WHILE expression can't precede the :FOR expression.



More information about the alexandria-devel mailing list