[ANN] Squeak RB release

danielv at netvision.net.il danielv at netvision.net.il
Sat Sep 29 11:25:39 UTC 2001


Thanks for the bug report!
The fix will be integrated into the next version.

About Lint/Code bugs -
Well, that depends on your expectations, I guess...

I inspected the results for Object, and it would appear that it hosts
lots of messages that are "misplaced", in a sense. For example, this
snippet of code out of one of those methods -

	class := self class.
	class isMeta ifTrue: [^self].	"a class"
	new := self clone.
	class isSystemDefined 
		ifFalse: 
			[uc := deepCopier uniClasses at: class ifAbsent: [nil].
			uc ifNil: 
					[deepCopier uniClasses at: class
						put: (uc := self copyUniClassWith: deepCopier).

Objects don't implement copyUniClassWith:, but the tests will protect
most objects from venturing there. That generally works (so it's not a
bug), and I bet there are some reasonable tradeoffs involved (so maybe
it's not even Lint). It would me or you some effort to decide either
way, but I sure wouldn't expect it of Smalllint ;-)

Generally speaking, Smalllint is more useful on young code (where what
looks like a stupid mistake is more likely to be one), but you never
know. From a quick inspection, there's lots of good work that can be
done cleaning up the Kernel classes starting from a Lint report on it.
If you want to start off picking on a weaker victim, just go after my
code :-)

One enhancement that I know of, and I'll integrate as soon as I'm told
it's ready, is a better mechanism to tell Smalllint to ignore
"infractions" (using comments in the code).

Anyway, thanks for the feedback!
Daniel

"PhiHo Hoang" <phiho.hoang at home.com> wrote:
> Hi Daniel,
> 
>     I got a walk back 'Error: subscript is out of bounds: 0' when clicking
> in SmallLint Results window where there are no result messages.
> 
>     I am learning to use RB and found that SmallLint reports 39 'messages
> sent but not implemented' bugs for Kernel-Objects and Kernel-Classes. Are
> there really bugs for these two categories or it's SmallLint's bug ;-)
> 
> 
> Cheers,
> 
> PhiHo
> 
> ----- Original Message -----
> From: <danielv at netvision.net.il>
> To: <squeak-dev at lists.squeakfoundation.org>
> Sent: Friday, September 28, 2001 8:51 PM
> Subject: [ANN] Squeak RB release
> 
> 
> > Hey guys, another release is up.
> > A couple of fixes, and one main new feature - a search feature based on
> > parse tree matching.
> >
> > This lets you find just about any pattern in the code that you can
> > describe. You can look in a class, a class category, or all the system
> > (that'll take a while!).
> >
> > The way the search work is like this -
> > You give it a pattern that looks like the code you want to match
> > `@exp halt
> >
> > will match "3 halt" and also "(3 + 4) halt".
> >
> > You can also specify a test clause. For example,
> >
> > The pattern -
> > `@Expression
> > with the test clause -
> > aNode isVariable and:
> > [(class _ Smalltalk classNamed: aNode name) isBehavior and:
> > [class allSuperclasses includes: Morph]]
> >
> > Will look for every expression, that's a variable, that's really a
> > global, and a class, and a subclass of Morph (In short, you'll see all
> > the methods that reference some Morph class explicitly).
> >
> > Note that the clause is really compiled as the body of a block, that
> > recieves aNode as it's only parameters.
> >
> > To invoke the search, go to the "RB - Class" menu, and poke the "ind
> > code like..." item.
> > Invoking it with no class will apply the search to the category, if no
> > category either, then all categories.
> >
> > To load the RB, do (btw, tests show you must delete any Squeak%20RB
> > projects from your Squeaklets directory) -
> > ProjectLoading
> > installRemoteNamed: 'Squeak%20RB.pr'
> > from:
> > 'http://squeak.heeg.de:8080/TFODC69UQ0MFRIHMG40DRML1CU7VYZ9-4/Squeak%20R
> > B.pr'
> > named: 'SqueakRB'
> > in: Project current.
> >
> > Daniel
> > PS - anyone know the rationale for Project>>fromUrl: working only for
> > the predefined servers?
> >
> >




More information about the Squeak-dev mailing list