I have a strange effect I was not able to find out so far. You can try with any newer Pharo image/VM but here are the exact combination I tried:
1. Load latest VM from https://dl.bintray.com/pharo-project/pharo-vm/ which is as of today (https://dl.bintray.com/pharo-project/pharo-vm/pharo-win-i386-201701091105-b0400d4.zip) Extract in a directory. 2. Download and extract http://files.pharo.org/sources/PharoV50.sources.zip into same directory 3. Use latest image http://files.pharo.org/image/60/60342.zip in same directory 4. Start Pharo and load "Pastell" Metacello new smalltalkhubUser: 'Pharo' project: 'MetaRepoForPharo50'; configuration: 'Pastell'; version: #stable; load. 5. Put some Transcript output into: XMLNodeWithElements>>#doesNotUnderstand: by changing it to: doesNotUnderstand: aMessage "If I have one or more childs whose name is the same as the selector, return them in a PastellCollection. Otherwise, let the DNU propagate" | v | Transcript show: aMessage selector asString;cr. v := self child: aMessage selector. ^ v ifEmpty: [ super doesNotUnderstand: aMessage ] ifNotEmpty: [ v ]. 6. Now evaluate: | xml document htmls html heads | Transcript open;clear. xml := '<html> <head></head> <head></head> </html>'. document := XMLDOMParser parse: xml readStream. htmls := document html. "gives a pastell collection using the #doesNotUnderstand: trick" html := htmls first. "first element from collection, the class is XMLElement, a subclass of XMLNodeWithElements" html head "should call #doesNotUnderstand: again in XMLNodeWithElements but it is not" As you see the #html message triggers the #doesNotUnderstand: while #head does not. For strange reasons the XMLNodeWithElements>>#doesNotUnderstand: is only called once and then not anymore. Did I miss something? Last time Pastell worked was in Pharo 3.0. Is this a Cog issue or something I do not see? It seems to work on Mac (according to Stephan Eggermont). Any idea? Thanks T.