This was fixed in April 2010 to use pragmas, looks like the original poster uses an old version. 2010/10/25 Mariano Martinez Peck <marianopeck@gmail.com>:
lukas?
---------- Forwarded message ---------- From: Chris Muller <asqueaker@gmail.com> Date: Mon, Oct 25, 2010 at 6:16 PM Subject: [squeak-dev] bug in OBMetagraphBuilder>>#reference To: squeak dev <squeak-dev@lists.squeakfoundation.org>
Hi, I just wanted to let the maintainers of OmniBrowser know, there is a bug with this method.
The method reflects on its class and performs all that begin with #populate. Â However, it is not unusual to expect that someone's application might have a selector that also begins with the word 'populate'. Â And so those selectors would be performed as well.
This is why, for cases like this, it is better for a tool, which is just a means, not an end, to be polite with the namespace; such as checking for 'obPopulate' perhaps rather than simply 'populate'.
But that's just a mini-rant, not even the bug. Â The bug is, my 'populate' is not a unary message, so I get a failure on the perform, "incorrect number of arguments."
I therefore always change the method to:
OBMetagraphBuilder >> execute     ((self class allSelectors select: [:ea | (ea beginsWith: 'populate') and: [ ea isUnary ]]) asSortedArray)         do: [:selector | self perform: selector].     ^ self root
Thank you, Â Chris
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Lukas Renggli www.lukas-renggli.ch