If you load 0.9.23 from the public repository into a
new image, the
tests
don't run. The various structure #initialize class methods have been
removed, so the class instance variables aren't initialized. Instead of
adding the methods back, could the code be changed so that these
variables
are lazily initialized?
I am very sorry, this is my fault. The Squeak porters requested to have
those class variables to be lazily initialized, but I forgot to use the
accessors at one place. This should be fixed in 0.9.24.
Btw, does anybody care if I take the SIXX storage out of the
core-package? I would like to remove the dependency of SmallWiki to
SIXX. I don't think that anybody is actually using it. I put it into
the example collection, from where you might still load if you need.
Also, the
VisitorRendererWiki>>emitCrWithoutDuplicates assumes that #cr
method on stream emits only a Character cr. However, the ANSI standard
says
that #cr emits "a sequence of character objects that constitute the
implementation-defined end-of-line sequence" so you can't assume that
Character cr will be put on the stream. Instead of getting the
contents, I
would suggest adding an instance variable that says whether the last
thing
put on the stream was a #cr from #emitCr.
I changed the implementation of this part as suggested and I think it
also looks much nicer now.
Btw, talking about visitors:
- I basically use the same naming conventions as the refactoring
browser for the messages #accept:, #acceptFolder:, #visit:, etc.
Several people were complaining that this does not match the
suggestions of the book Smalltalk design-pattern companion and was
confusing them. I don't really care what approach to take, but would be
interested in your opinion?
- Another thing about the visitors are their class-names. If I remember
correctly you told me in one of your reviews that you dislike those
names. So far I did not change anything, but when doing a visitor
refactoring I would like to do everything at once. What class-naming
would you prefer exactly?
Regards,
Lukas
--
Lukas Renggli
http://renggli.freezope.org