<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><pre style="font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">>Dear Squeakers,

>I tried to parse an HTML file like this in a trunk image and ran into a MNU:
>FileStream fileNamed: ’some.html’ do: [:stream | HtmlParser parse: stream]

>In HtmlText>>#initialize the message #replaceHtmlCharRefs is sent. I suppose this method was once the image. Otherwise HtmlPar>ser would never have worked. How can I find out, when it got lost? How would you do it?

>Cheers,
>Bernhard</pre><div class="">Go to the files archive and start opening old images to find what was removed. Your method is in a 3.2 image. </div><div class="">I have old images lying around on my desktops and I cannot get off the couch right now, so I thought I’d look for it. </div><div class="">Googling your selector “replaceHtmlCharRefs” would show that Steph had the same problem in 2009. </div><div class=""><br class=""></div><div class="">Chris </div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class="">String>>#replaceHtmlCharRefs</div><div class=""><br class=""></div><div class="">        | pos ampIndex scIndex special specialValue outString outPos newOutPos |</div><div class=""><br class=""></div><div class="">        outString _ String new: self size.</div><div class="">        outPos _ 0.</div><div class=""><br class=""></div><div class="">        pos _ 1.</div><div class="">        </div><div class="">        [ pos <= self size ] whileTrue: [ </div><div class="">                "read up to the next ampersand"</div><div class="">                ampIndex _ self indexOf: $& startingAt: pos ifAbsent: [0].</div><div class="">                </div><div class="">                ampIndex = 0 ifTrue: [</div><div class="">                        pos = 1 ifTrue: [ ^self ] ifFalse: [ ampIndex _ self size+1 ] ].</div><div class=""><br class=""></div><div class="">                newOutPos _ outPos + ampIndex - pos.</div><div class="">                outString</div><div class="">                        replaceFrom: outPos + 1</div><div class="">                        to: newOutPos</div><div class="">                        with: self</div><div class="">                        startingAt: pos.</div><div class="">                outPos _ newOutPos.</div><div class="">                pos _ ampIndex.</div><div class=""><br class=""></div><div class="">                ampIndex <= self size ifTrue: [</div><div class="">                        "find the $;"</div><div class="">                        scIndex _ self indexOf: $; startingAt: ampIndex ifAbsent: [ self size + 1 ].</div><div class=""><br class=""></div><div class="">                        special _ self copyFrom: ampIndex+1 to: scIndex-1.       </div><div class="">                        specialValue _ HtmlEntity valueOfHtmlEntity: special. </div><div class=""><br class=""></div><div class="">                        specialValue</div><div class="">                                ifNil: [</div><div class="">                                        "not a recognized entity.  wite it back"</div><div class=""><span class="Apple-tab-span" style="white-space:pre">                                                         </span>  scIndex > self size ifTrue: [ scIndex _ self size ].</div><div class=""><br class=""></div><div class="">                                        newOutPos _ outPos + scIndex - ampIndex + 1.</div><div class="">                                        outString</div><div class="">                                                replaceFrom: outPos+1</div><div class="">                                                to: newOutPos</div><div class="">                                                with: self</div><div class="">                                                startingAt: ampIndex.</div><div class="">                                        outPos _ newOutPos.]</div><div class="">                                ifNotNil: [</div><div class="">                                        outPos _ outPos + 1.</div><div class="">                                        outString at: outPos put: specialValue.].</div><div class="">                        </div><div class="">                        pos _ scIndex + 1. ]. ].</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">        ^outString copyFrom: 1 to: outPos</div></div></body></html>