Fantastic! I'm already looking forward to make use of this in my TelegramSmalltalkBot! :-)<br>
<br>
Until then, I wonder whether we should write method changes to the #source attribute of the compiled method in question so that you do not loose your temp names after accepting when the change file is unavailable. See CompiledMethod >> #getSourceFor:in:. What do you think? :-)<br>
<br>
Best,<br>
Christoph<br>
<br>
<font color="#808080">---<br>
</font><font color="#808080"><i>Sent from </i></font><font color="#808080"><i><a href="https://github.com/hpi-swa-lab/squeak-inbox-talk"><u><font color="#808080">Squeak Inbox Talk</font></u></a></i></font><br>
<br>
On 2021-12-26T07:21:46+00:00, commits@source.squeak.org wrote:<br>
<br>
> Marcel Taeumel uploaded a new version of Kernel to project The Trunk:<br>
> http://source.squeak.org/trunk/Kernel-mt.1437.mcz<br>
> <br>
> ==================== Summary ====================<br>
> <br>
> Name: Kernel-mt.1437<br>
> Author: mt<br>
> Time: 26 December 2021, 8:21:42.050619 am<br>
> UUID: 28086a0b-8543-4f44-9c9f-7e63d3028f7f<br>
> Ancestors: Kernel-ct.1436<br>
> <br>
> Makes #acceptsLoggingOfCompilation a preference that can be disabled. See commentary #logCompiledSources. Classes can still override this preference but should follow a "super acceptsLoggingOfCompilation and: [...]" pattern.<br>
> <br>
> Thanks to Tim (tpr) for figuring out the mechanics and testing it throughout the year!<br>
> <br>
> =============== Diff against Kernel-ct.1436 ===============<br>
> <br>
> Item was changed:<br>
> Behavior subclass: #ClassDescription<br>
> instanceVariableNames: 'instanceVariables organization'<br>
> + classVariableNames: 'AcceptsLoggingOfCompilation TraitImpl'<br>
> - classVariableNames: 'TraitImpl'<br>
> poolDictionaries: ''<br>
> category: 'Kernel-Classes'!<br>
> <br>
> !ClassDescription commentStamp: '<historical>' prior: 0!<br>
> I add a number of facilities to basic Behaviors:<br>
> Named instance variables<br>
> Category organization for methods<br>
> The notion of a name of this class (implemented as subclass responsibility)<br>
> The maintenance of a ChangeSet, and logging changes on a file<br>
> Most of the mechanism for fileOut.<br>
> <br>
> I am an abstract class, in particular, my facilities are intended for inheritance by two subclasses, Class and Metaclass.<br>
> <br>
> The slots 'organization' and 'methodDict' should ONLY be accessed by message in order for things to work during ImageSegment>>discoverActiveClasses (q.v.).!<br>
> <br>
> Item was added:<br>
> + ----- Method: ClassDescription class>>logCompiledSources (in category 'compiling') -----<br>
> + logCompiledSources<br>
> + <preference: 'Log compilations to changes file'<br>
> + category: 'general'<br>
> + description: 'If enabled, the code being compiled will get logged to the changes file. Disabling allows loading code with no changes file in use. See also #warnIfNoChangesFile and #warnIfNoSourcesFile and #readDocumentAtStartup. You can configure a silent image/DoItFirst for, e.g., server environments.'<br>
> + type: #Boolean><br>
> + <br>
> + ^ AcceptsLoggingOfCompilation ifNil: [true]!<br>
> <br>
> Item was added:<br>
> + ----- Method: ClassDescription class>>logCompiledSources: (in category 'compiling') -----<br>
> + logCompiledSources: aBoolean<br>
> + ^ AcceptsLoggingOfCompilation := aBoolean!<br>
> <br>
> Item was changed:<br>
> ----- Method: ClassDescription>>acceptsLoggingOfCompilation (in category 'compiling') -----<br>
> acceptsLoggingOfCompilation<br>
> "weird name is so that it will come lexically before #compile, so that a clean build can make it through. 7/7/96 sw"<br>
> <br>
> + ^AcceptsLoggingOfCompilation ifNil: [true]!<br>
> - ^ true!<br>
> <br>
>