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 Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1119.mcz
==================== Summary ====================
Name: Kernel-mt.1119
Author: mt
Time: 9 November 2017, 11:13:37.82048 am
UUID: a210d4c7-b8eb-e544-a857-2b0bbade9668
Ancestors: Kernel-mt.1118
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 Kernel-mt.1118 ===============
Item was added:
+ ----- Method: Class>>metaCompilerClass (in category 'compiling') -----
+ metaCompilerClass
+ "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 compilerClass!
Item was added:
+ ----- Method: Class>>metaDecompilerClass (in category 'compiling') -----
+ metaDecompilerClass
+ "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 decompilerClass!
Item was added:
+ ----- Method: Class>>metaEvaluatorClass (in category 'compiling') -----
+ metaEvaluatorClass
+ "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 evaluatorClass!
Item was added:
+ ----- Method: Class>>metaFormatterClass (in category 'printing') -----
+ metaFormatterClass
+ "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 formatterClass!
Item was added:
+ ----- Method: Class>>metaParserClass (in category 'compiling') -----
+ metaParserClass
+ "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 parserClass!
Item was added:
+ ----- Method: Class>>metaPrettyPrinterClass (in category 'printing') -----
+ metaPrettyPrinterClass
+ "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 prettyPrinterClass!
Item was changed:
----- Method: Metaclass>>compilerClass (in category 'compiling') -----
compilerClass
+
+ ^ self theNonMetaClass metaCompilerClass!
- "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 changed:
----- Method: Metaclass>>decompilerClass (in category 'compiling') -----
decompilerClass
+
+ ^ self theNonMetaClass metaDecompilerClass!
- "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 changed:
----- Method: Metaclass>>evaluatorClass (in category 'compiling') -----
evaluatorClass
+
+ ^ self theNonMetaClass metaEvaluatorClass!
- "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 changed:
----- Method: Metaclass>>formatterClass (in category 'printing') -----
formatterClass
+
+ ^ self theNonMetaClass metaFormatterClass!
- "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 changed:
----- Method: Metaclass>>parserClass (in category 'compiling') -----
parserClass
+
+ ^ self theNonMetaClass metaParserClass!
- "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 changed:
----- Method: Metaclass>>prettyPrinterClass (in category 'printing') -----
prettyPrinterClass
+
+ ^ self theNonMetaClass metaPrettyPrinterClass!
- "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]!
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]!
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1117.mcz
==================== Summary ====================
Name: Kernel-eem.1117
Author: eem
Time: 7 November 2017, 5:11:32.043344 pm
UUID: 110255e1-5b72-4d99-96bb-e5068c2f5b5b
Ancestors: Kernel-tpr.1116
Use a slightly less baroque implemetation for Context>>arguments, equivalent to Pharo's.
=============== Diff against Kernel-tpr.1116 ===============
Item was changed:
----- Method: Context>>arguments (in category 'accessing') -----
arguments
+ "Answer the receiver's arguments as an Array.
+ We could use simply ^(1 to: self numArgs) collect: [:i| self tempAt: i]
+ but for performance and minimality we use the implementation below."
+ | n args |
+ args := Array new: (n := self numArgs).
+ 1 to: n do: [:i| args at: i put: (self tempAt: i)].
+ ^args!
-
- ^ Array new: self numArgs streamContents: [:args |
- 1 to: self numArgs do: [: i |
- args nextPut: (self tempAt: i)]]!
tim Rowledge uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-tpr.1116.mcz
==================== Summary ====================
Name: Kernel-tpr.1116
Author: tpr
Time: 6 November 2017, 10:08:58.237421 pm
UUID: f921b28f-0d4a-4ed9-9a28-b5d7d6db279a
Ancestors: Kernel-tpr.1115
Untangle a mis-thought deprecation and sort out windowTitle/labelString until a thorough job might be done
=============== Diff against Kernel-tpr.1115 ===============
Item was added:
+ ----- Method: Model>>labelString (in category 'toolbuilder') -----
+ labelString
+ "We'd love to sunset this in favour of #windowTitle but there are so many places that would need changing that it really seems more trouble than could possibly be warranted"
+ ^self class name!
Item was changed:
----- Method: Model>>windowTitle (in category 'toolbuilder') -----
windowTitle
+ "We'd rather use windowTitle but labelString is deeply embedded; see its comment"
+ ^self labelString!
- ^self class name!
tim Rowledge uploaded a new version of 51Deprecated to project The Trunk:
http://source.squeak.org/trunk/51Deprecated-tpr.50.mcz
==================== Summary ====================
Name: 51Deprecated-tpr.50
Author: tpr
Time: 6 November 2017, 10:07:31.953541 pm
UUID: afd8e74a-907f-44e6-97c4-b053f743c826
Ancestors: 51Deprecated-tpr.49
Argh, no. Deprecarte the deprecation
=============== Diff against 51Deprecated-tpr.49 ===============
Item was removed:
- ----- Method: StringHolder>>labelString (in category '*51Deprecated') -----
- labelString
- ^self windowTitle!
tim Rowledge uploaded a new version of PreferenceBrowser to project The Trunk:
http://source.squeak.org/trunk/PreferenceBrowser-tpr.81.mcz
==================== Summary ====================
Name: PreferenceBrowser-tpr.81
Author: tpr
Time: 6 November 2017, 3:05:26.99732 pm
UUID: 5fa48827-2a97-4871-9f65-d7dfc0f634bf
Ancestors: PreferenceBrowser-eem.80
Moved the performance test to SystemNavigation
=============== Diff against PreferenceBrowser-eem.80 ===============
Item was changed:
----- Method: PreferenceWizardMorph>>hasLowPerformance (in category 'testing') -----
hasLowPerformance
"If the wizard is started on a machine with low performance, the wizard will change some settings automatically on startup."
+ ^ Smalltalk isLowerPerformance!
- ^ (Smalltalk platformSubtype beginsWith: 'arm') "Raspberry PI"
- or: [Smalltalk platformName = 'Web'] "SqueakJS"!
tim Rowledge uploaded a new version of MorphicTests to project The Trunk:
http://source.squeak.org/trunk/MorphicTests-tpr.42.mcz
==================== Summary ====================
Name: MorphicTests-tpr.42
Author: tpr
Time: 6 November 2017, 3:04:08.351007 pm
UUID: 570171ed-9cc8-468c-812e-45dacc21f405
Ancestors: MorphicTests-mt.41
Derive default timeout from the default timeout... no, really
=============== Diff against MorphicTests-mt.41 ===============
Item was changed:
----- Method: MorphicUIManagerTest>>defaultTimeout (in category 'accessing') -----
defaultTimeout
+ ^ super defaultTimeout * 10 "seconds"!
- ^ 60 "seconds"!
tim Rowledge uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-tpr.386.mcz
==================== Summary ====================
Name: Tests-tpr.386
Author: tpr
Time: 6 November 2017, 3:02:55.613898 pm
UUID: 0c28c2ef-1d3f-4987-95d4-e8685e878e03
Ancestors: Tests-ul.385
Derive default timeout from the default timeout... no, really
=============== Diff against Tests-ul.385 ===============
Item was changed:
----- Method: LangEnvBugs>>defaultTimeout (in category 'as yet unclassified') -----
defaultTimeout
+ ^ super defaultTimeout * 10 "seconds"!
- ^ 60!
Item was changed:
----- Method: MCMczInstallerTest>>defaultTimeout (in category 'as yet unclassified') -----
defaultTimeout
+ ^ super defaultTimeout * 10 "seconds"!
- ^ 60!