Yes this is why we also removed from Transcript show: from deep down in the system.
From that perspective having a self log: would be better since we could control it. Right now there are plenty of places which holds a reference to the Transcript. What is strange is that the migration code was recompiling all the methods that had a reference to transcript so that they point to the new one.
Stef
ahahahahhaha
HAHAHAHAHAHAHAHAHHAHAHH
SmalltalkImage >> fixObsoleteReferences "SmalltalkImage current fixObsoleteReferences. SystemNavigation default obsoleteBehaviors size > 0 ifTrue: [ SystemNavigation default obsoleteBehaviors inspect. self error:'Still have obsolete behaviors. See inspector']"
| informee obsoleteBindings obsName realName realClass | Smalltalk garbageCollect; garbageCollect. CompiledMethod allInstances do: [ :method | obsoleteBindings := method literals select: [ :literal | literal isVariableBinding and: [ literal value isBehavior and: [ literal value isObsolete ]]]. obsoleteBindings do: [ :binding | obsName := binding value name. Transcript show: 'Binding: '; show: obsName; cr. realName := obsName copyReplaceAll: 'AnObsolete' with: ''. realClass := Smalltalk globals at: realName asSymbol ifAbsent: [ UndefinedObject ]. binding key: binding key value: realClass ] ]. Behavior flushObsoleteSubclasses. Smalltalk garbageCollect; garbageCollect
remove that lines in yellow and try again :)
On Wed, May 18, 2011 at 12:30 AM, Alain_Rastoul <alr.dev@free.fr> wrote: When I do Smalltalk fixObsoleteReferences I have AnObsoleteTranscript class DNU show: :( "Mariano Martinez Peck" <marianopeck@gmail.com> a écrit dans le message de news: BANLkTin_Q9ArEvU6qHZRcT2x9r3VLFp39w@mail.gmail.com...
On Wed, May 18, 2011 at 12:06 AM, Alain_Rastoul <alr.dev@free.fr> wrote: Hi,
Trying to upgrade my 1.3 image with Menu/System/Software Update, I had a MNU during update 13191 at AnObsoleteTranscript class >> cr which comes from: UndeclaredVariableWarning>>defaultAction selector ifNotNil: [Transcript cr; nextPutAll: class name, '>>', selector, ' '] ifNil: [Transcript cr ]. Transcript show: '(' , name , ' is Undeclared) '. ^true
Something is missing or I did something wrong?
Probably not. But probably Smalltalk fixObsoleteReferences also fixes it.
TIA Regards, Alain
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com