<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello everyone,<div><br></div><div>I thing, there is a bug in WriteStream, but i'm not sure.</div><div>When I look at this code, I guess aString is not always a String, and yesterday, I had a Text send to this method, which raised a DNU error.</div><div><br></div><div>(in blue is what I have change to make it work in my case)</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-style-span" style="font-family: 'Helvetica Neue'; font-size: 16px; ">WriteStream&gt;&gt;nextChunkPut: aString</span></div><span class="Apple-style-span" style="font-family: 'Marker Felt'; line-height: 20px; "><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">        </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">"Append the argument, aString, to the receiver, doubling embedded terminators."</span></font></span></div><div><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">&nbsp;</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">        </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">| i remainder terminator |&nbsp;</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">        </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">terminator := $!.</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">        </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">remainder := aString asString.</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">        </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">[(i := remainder indexOf: terminator) = 0] whileFalse:</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">                </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">[self nextPutAll: (remainder copyFrom: 1 to: i).</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">                </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">self nextPut: terminator. &nbsp;"double imbedded terminators"</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">                </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">remainder := remainder copyFrom: i+1 to: remainder size].</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">        </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">self nextPutAll: remainder.&nbsp;</span></font></span></div><div><font class="Apple-style-span" face="'Helvetica Neue'"><span class="Apple-style-span" style="line-height: normal; white-space: pre; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">aString asString includesUnifiedCharacter ifTrue: [</span></font><br class="webkit-block-placeholder"></span></font></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">                </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">self nextPut: terminator.</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">                </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">self nextPutAll: ']lang['.</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">                </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">aString&nbsp;<b><font class="Apple-style-span" color="#1D29FD">asString</font></b>&nbsp;writeLeadingCharRunsOn: self.</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">        </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">].</span></font></span></div><div><span class="Apple-tab-span" style="white-space: pre; "><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">        </span></font></span></span><span class="Apple-style-span" style="line-height: normal; "><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; ">self nextPut: terminator.</span></font></span></div><div><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; line-height: normal;"><br></span></font></div><div><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; line-height: normal;"><br></span></font></div><div><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; line-height: normal;"><br></span></font></div><div><font class="Apple-style-span" face="'Helvetica Neue'" size="4"><span class="Apple-style-span" style="font-size: 16px; line-height: normal;"><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; ">Is that a bug ?</span></span></font></div><div><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="line-height: normal;"><br></span></font></div><div><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="line-height: normal;"><br></span></font></div><div><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="line-height: normal;">Regards,</span></font></div><div><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="line-height: normal;"><br></span></font></div><div><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="line-height: normal;">Ben</span></font></div></span></body></html>