[squeak-dev] The Trunk: Kernel-mt.1437.mcz

christoph.thiede at student.hpi.uni-potsdam.de christoph.thiede at student.hpi.uni-potsdam.de
Mon Jan 3 17:44:06 UTC 2022


Fantastic! I'm already looking forward to make use of this in my TelegramSmalltalkBot! :-)

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? :-)

Best,
Christoph

---
Sent from Squeak Inbox Talk

On 2021-12-26T07:21:46+00:00, commits at source.squeak.org wrote:

> Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
> http://source.squeak.org/trunk/Kernel-mt.1437.mcz
> 
> ==================== Summary ====================
> 
> Name: Kernel-mt.1437
> Author: mt
> Time: 26 December 2021, 8:21:42.050619 am
> UUID: 28086a0b-8543-4f44-9c9f-7e63d3028f7f
> Ancestors: Kernel-ct.1436
> 
> 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.
> 
> Thanks to Tim (tpr) for figuring out the mechanics and testing it throughout the year!
> 
> =============== Diff against Kernel-ct.1436 ===============
> 
> Item was changed:
>   Behavior subclass: #ClassDescription
>       instanceVariableNames: 'instanceVariables organization'
> +     classVariableNames: 'AcceptsLoggingOfCompilation TraitImpl'
> -     classVariableNames: 'TraitImpl'
>       poolDictionaries: ''
>       category: 'Kernel-Classes'!
>   
>   !ClassDescription commentStamp: '<historical>' prior: 0!
>   I add a number of facilities to basic Behaviors:
>       Named instance variables
>       Category organization for methods
>       The notion of a name of this class (implemented as subclass responsibility)
>       The maintenance of a ChangeSet, and logging changes on a file
>       Most of the mechanism for fileOut.
>       
>   I am an abstract class, in particular, my facilities are intended for inheritance by two subclasses, Class and Metaclass.
>   
>   The slots 'organization' and 'methodDict' should ONLY be accessed by message in order for things to work during ImageSegment>>discoverActiveClasses (q.v.).!
> 
> Item was added:
> + ----- Method: ClassDescription class>>logCompiledSources (in category 'compiling') -----
> + logCompiledSources
> +     <preference: 'Log compilations to changes file'
> +         category: 'general'
> +         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.'
> +         type: #Boolean>
> + 
> +     ^ AcceptsLoggingOfCompilation ifNil: [true]!
> 
> Item was added:
> + ----- Method: ClassDescription class>>logCompiledSources: (in category 'compiling') -----
> + logCompiledSources: aBoolean
> +     ^ AcceptsLoggingOfCompilation := aBoolean!
> 
> Item was changed:
>   ----- Method: ClassDescription>>acceptsLoggingOfCompilation (in category 'compiling') -----
>   acceptsLoggingOfCompilation
>       "weird name is so that it will come lexically before #compile, so that a clean build can make it through.  7/7/96 sw"
>   
> +     ^AcceptsLoggingOfCompilation ifNil: [true]!
> -     ^ true!
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220103/35319af7/attachment.html>


More information about the Squeak-dev mailing list