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>