On Fri, Aug 19, 2011 at 1:38 PM, Igor Stasenko <[email protected]> wrote: > On 19 August 2011 11:41, Pavel Krivanek <[email protected]> wrote: >> Hi, >> >> Igor changed some uses of "Transcript" to "Smalltalk tools >> transcript". Of course it is not bad idea however it has some >> unwelcome consequences - mainly it cannot work on images that have no >> tools and Pharo Kernel and most of derived images have no ToolRegistry >> at all. Currently it breaks Pharo Kernel job on CI server. >> >> Here are affected methods: >> >> Object>>crLog: {logging} >> Object>>log: {logging} >> Object>>logCr: {logging} >> Object>>logCrTab: {logging} >> >> Of course the simplest way how to fix that is revert previous versions >> of this methods. However we may use some more general solution where >> ToolRegistry will be part of the kernel but then we will have to solve >> questions what tools are default, what to do if the tool class is >> missing etc. >> > > Is 'Smalltalk' global name part of kernel? > If so, then i think SmalltalkImage should be too and ToolRegistry. > > Tool registry is just a registry. It doesn't imposing the existance of > one or another tool. > If tool with given name is missing, then attempt to use it will lead for > error. >
The question why to have registry for something what is not necessary. Some applications may want to remove tools from the image so to place tools support to the kernel is a regression. The only tool that is required for the Kernel now is Transcript for some Compiler messages etc. I think that there is one much better solution - to remove Transcript dependency from the kernel and for such messages to use UIManager (something like #log: or maybe better #logStream). MorphicUIManager then will use Transcript. -- Pavel
