You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Why because we get a NonInteractiveTranscript and it does not understand open.
First remark this is not super smart to have objects that we substitute and do not have the same API.
So NonInteractiveTranscript is put in the Transcript global variable during the bootstrap.
initializeCommandLineHandlerAndErrorHandling
"This method is run before the new bootstrapped image is saved!"
ProcessorScheduler initialize.
Delay initialize.
ProcessorScheduler startUp.
OSPlatform startUp: true.
SmallInteger initialize.
String initialize.
ByteString initialize.
Float initialize.
...
Smalltalk globals
at: #Transcript
put: (NonInteractiveTranscript stdout install).
Now the CommonTools during their initialization are doing.
initDefaultToolSet
"Query the system for registering tools"
"we cannot afford to show warnings because not all tools e.g Debugger, Inspector are registered yet"
[
Object withAllSubclassesDo: [:ea |
"evaluate only for classes which directly implement this message,
not via subclassing"
(ea isMeta and: [
ea includesSelector: #registerToolsOn: ]) ifTrue: [
ea instanceSide registerToolsOn: self ]].
] on: Warning do: [:ex | ex resume ]
and we have the following
ThreadSafeTranscript class >> registerToolsOn: aRegistry
aRegistry register: Transcript as: #transcript
So here the idea was to install in the toolRegistry the globally accessible value.
ThreadSafeTranscript class >>install
self installThreadSafeAsTranscript
ThreadSafeTranscript class >>installThreadSafeAsTranscript
<script>
Smalltalk globals at: #Transcript put: (self new)
But we also have
NonInteractiveTranscript >> install
"Install me as a replacement for Transcript"
Smalltalk globals
at: #Transcript
put: self
Now in my image Transcript refers to a threadsafe one so it means that
the registration happened at a point where Transcript global referred to the NonInteractive one.
The text was updated successfully, but these errors were encountered:
Why because we get a NonInteractiveTranscript and it does not understand open.
So NonInteractiveTranscript is put in the Transcript global variable during the bootstrap.
Now the CommonTools during their initialization are doing.
and we have the following
So here the idea was to install in the toolRegistry the globally accessible value.
But we also have
Now in my image Transcript refers to a threadsafe one so it means that
the registration happened at a point where Transcript global referred to the NonInteractive one.
The text was updated successfully, but these errors were encountered: