Closed rtvd closed 4 years ago
Hmm I think I introduced this breakage a while ago (it was working back then). With this fix all tests are passing again on my system. Do you know what function call is passing NIL?
This one:
(defmethod streamish-write ((streamish streamish) data &key start end &allow-other-keys)
(unless (streamish-closed-p streamish)
(write-to-uvstream (streamish-c streamish)
(streamish-convert-data data)
:start start :end end)))
As you can see, its start
and end
keyword arguments are passed to write-to-uvstream
. Problem is, that the arguments are not always present. If they are not, their value is NIL
and those NIL
values are passed explicitly to write-to-uvstream
.
BTW, I did not find a documentation which would explain the meaning of start
and end
in streamish-write
. I guess it is a way to select a specific range of values from data
but then that probably means that data
is always a sequence of bytes. So perhaps the interface could be made be more simple by getting rid of start
and end
and using some kind of view
over data
to select the appropriate region?
Yeah you're right. It's probably better to leave it as it is for now since streamish-write
is public API.
Thank you for this change.
The breakage was caused by a call to write-to-uvstream which specified both :start and :end as NIL.
Unfortunately, it was easier to alter write-to-uvstream than change the calling code.
For the reference, the test report looked like this: