<div dir="ltr">Would it be more flexible as a class-instance var even with no added complexity?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Dec 26, 2021 at 1:21 AM <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Marcel Taeumel uploaded a new version of Kernel to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Kernel-mt.1437.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/trunk/Kernel-mt.1437.mcz</a><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>
<br>
</blockquote></div>