Marcel Taeumel uploaded a new version of ShoutCore to project The Trunk:
http://source.squeak.org/trunk/ShoutCore-mt.60.mcz
==================== Summary ====================
Name: ShoutCore-mt.60
Author: mt
Time: 9 November 2017, 11:16:33.47048 am
UUID: e0c9bc99-8bc1-cc48-8b12-53d0c52f9142
Ancestors: ShoutCore-mt.59
Improves support for having custom compiler classes for class-side methods. No need to use #respondsTo:. Just provide default implementation of #meta*Class methods in Class. The "super" is important here because the old behavior has been to use a custom compiler for the instance-side only.
=============== Diff against ShoutCore-mt.59 ===============
Item was added:
+ ----- Method: Class>>metaShoutParserClass (in category '*ShoutCore-Parsing') -----
+ metaShoutParserClass
+ "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+
+ ^ super shoutParserClass!
Item was changed:
----- Method: Metaclass>>shoutParserClass (in category '*ShoutCore-Parsing') -----
shoutParserClass
+
+ ^ self theNonMetaClass metaShoutParserClass!
- "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
-
- ^ (self theNonMetaClass respondsTo: #metaShoutParserClass)
- ifTrue: [self theNonMetaClass metaShoutParserClass]
- ifFalse: [super shoutParserClass]!
Marcel Taeumel uploaded a new version of ShoutCore to project The Trunk:
http://source.squeak.org/trunk/ShoutCore-mt.59.mcz
==================== Summary ====================
Name: ShoutCore-mt.59
Author: mt
Time: 8 November 2017, 5:57:12.060741 pm
UUID: 9268d08f-9a54-6048-8981-de93ad2f6bc5
Ancestors: ShoutCore-ul.58
Adds support for having custom Shout parser classes for class-side methods.
=============== Diff against ShoutCore-ul.58 ===============
Item was added:
+ ----- Method: Metaclass>>shoutParserClass (in category '*ShoutCore-Parsing') -----
+ shoutParserClass
+ "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+
+ ^ (self theNonMetaClass respondsTo: #metaShoutParserClass)
+ ifTrue: [self theNonMetaClass metaShoutParserClass]
+ ifFalse: [super shoutParserClass]!
Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1118.mcz
==================== Summary ====================
Name: Kernel-mt.1118
Author: mt
Time: 8 November 2017, 5:55:48.665741 pm
UUID: 0c6a6070-083b-b247-b9f6-d29d42064efa
Ancestors: Kernel-eem.1117
Adds support for having custom compiler classes for class-side methods.
=============== Diff against Kernel-eem.1117 ===============
Item was added:
+ ----- Method: Metaclass>>compilerClass (in category 'compiling') -----
+ compilerClass
+ "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+
+ ^ (self theNonMetaClass respondsTo: #metaCompilerClass)
+ ifTrue: [self theNonMetaClass metaCompilerClass]
+ ifFalse: [super compilerClass]!
Item was added:
+ ----- Method: Metaclass>>decompilerClass (in category 'compiling') -----
+ decompilerClass
+ "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+
+ ^ (self theNonMetaClass respondsTo: #metaDecompilerClass)
+ ifTrue: [self theNonMetaClass metaDecompilerClass]
+ ifFalse: [super decompilerClass]!
Item was added:
+ ----- Method: Metaclass>>evaluatorClass (in category 'compiling') -----
+ evaluatorClass
+ "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+
+ ^ (self theNonMetaClass respondsTo: #metaEvaluatorClass)
+ ifTrue: [self theNonMetaClass metaEvaluatorClass]
+ ifFalse: [super evaluatorClass]!
Item was added:
+ ----- Method: Metaclass>>formatterClass (in category 'printing') -----
+ formatterClass
+ "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+
+ ^ (self theNonMetaClass respondsTo: #metaFormatterClass)
+ ifTrue: [self theNonMetaClass metaFormatterClass]
+ ifFalse: [super formatterClass]!
Item was added:
+ ----- Method: Metaclass>>parserClass (in category 'compiling') -----
+ parserClass
+ "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+
+ ^ (self theNonMetaClass respondsTo: #metaParserClass)
+ ifTrue: [self theNonMetaClass metaParserClass]
+ ifFalse: [super parserClass]!
Item was added:
+ ----- Method: Metaclass>>prettyPrinterClass (in category 'printing') -----
+ prettyPrinterClass
+ "BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+
+ ^ (self theNonMetaClass respondsTo: #metaPrettyPrinterClass)
+ ifTrue: [self theNonMetaClass metaPrettyPrinterClass]
+ ifFalse: [super prettyPrinterClass]!
Dear Squeakers,
Is there a way to move the focus between the different lists in a browser by keyboard? I searched the mailing list and looked a bit in the code. However, I did not find anything.
Cheers,
Bernhard
Hi all,
I'm glad to announce that the Squeak trunk bundles are now signed for macOS.
You can find the latest build at [1]. I hope we can soon sign them for
Windows as well.
The Apple signing certificate was sponsored by Squeak Deutschland e.V., the
German Squeak association.
Best,
Fabio
[1] http://files.squeak.org/6.0alpha/Squeak6.0alpha-17456-32bit/