[flexi-streams-devel] simple bug in in-memory-streams, affects hunchentoot. fix included

Hi, I have been quietly using Hunchentoot for a while. when I asdf-installed the latest version of it, I got an error that traced down the latest flexi-streams. make-in-memory-input-stream was changed to use keyword arguments instead of optional arguments, which broke the macro with-input-from-sequence. Here is a fixed version: (defmacro with-input-from-sequence ((var sequence &key start end transformer) &body body) "Creates an IN-MEMORY input stream from SEQUENCE using the parameters START and END, binds VAR to this stream and then executes the code in BODY. A function TRANSFORMER may optionally be specified to transform the returned octets. The stream is automatically closed on exit from WITH-INPUT-FROM-SEQUENCE, no matter whether the exit is normal or abnormal. The return value of this macro is the return value of BODY." (with-rebinding (sequence) `(let (,var) (unwind-protect (progn (setq ,var (make-in-memory-input-stream ,sequence :start (or ,start 0) :end (or ,end (length ,sequence)) :transformer ,transformer)) ,@body) (when ,var (close ,var)))))) I didn't see anything else affected. i've also attached a diff thanks, red daly

On Wed, 10 Jan 2007 17:13:07 -0800, Red Daly <reddaly@gmail.com> wrote:
make-in-memory-input-stream was changed to use keyword arguments instead of optional arguments, which broke the macro with-input-from-sequence.
Ugh, yeah, sorry - my bad. Fixed now. Thanks a lot, Edi.

Sorry, had to fix another bug I made... :( http://weitz.de/files/flexi-streams.tar.gz
participants (2)
-
Edi Weitz
-
Red Daly