On Fri, Aug 1, 2008 at 6:22 AM, David Chisnall <[EMAIL PROTECTED]> wrote: > The issue here is that the selector count seems to be defined with > two types, one returning an object and the other returning an > integer. The compiler thinks it's the first one, and is the second > one. It gets an integer return, but treats it as an object. The > return value is 3, which is equivalent to the SmallInt value. If you > try this with an array of four elements, then you will get a crash > instead. > > The offending -count method seems to be in GSMemoryPanelEntry - I > have absolutely no idea what this class is supposed to do. It is > incredibly bad form to define selectors with the same name but > different types to others in the system (sometimes unavoidable with > independently-developed libraries, but it certainly should not be > happening with selectors declared in OpenStep classes) - you can turn > on a GCC warning to do this, but it seems the GNUstep devs didn't, > which is a shame since it can cause some very difficult to track down > bugs in ObjC code too. > > I'm not sure what the best solution is here. I don't want to have to > move the auto-boxing logic into runtime code, since this will come > with a huge performance penalty, but it might be unavoidable. > > Suggestions?
If I remember it correctly, when you open the "info panel" on any GNUstep GUI application and double-click on the app icon in the panel, there is a memory panel coming out to show the creation and deletion of objects dynamically. I suspect this GSMemoryPanelEntry is used there. We certainly can file a bug report to GNUstep maillist for now. Yen-Ju > > David > > On 31 Jul 2008, at 08:43, Yen-Ju Chen wrote: > >> I might miss something, but it seems that -count does not work >> properly in Smalltalk. >> Here is a short script for testing. >> >> NSObject subclass: SmalltalkTool >> [ >> run >> [ >> |a| >> a := {'1'. '2'. '3'.}. >> a log. >> a count log. >> ] >> ] >> >> 'a count' return 1, but a is an array of 3 objects. >> >> Thanx. >> >> Yen-Ju >> >> _______________________________________________ >> Etoile-dev mailing list >> Etoile-dev@gna.org >> https://mail.gna.org/listinfo/etoile-dev > > > _______________________________________________ > Etoile-dev mailing list > Etoile-dev@gna.org > https://mail.gna.org/listinfo/etoile-dev > _______________________________________________ Etoile-dev mailing list Etoile-dev@gna.org https://mail.gna.org/listinfo/etoile-dev