Frank Shearar uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-fbs.753.mcz
==================== Summary ====================
Name: Kernel-fbs.753
Author: fbs
Time: 31 March 2013, 9:48:19.626 pm
UUID: fed54ba8-20d7-48c6-b61f-939552ef780c
Ancestors: Kernel-fbs.752
Preserve Fraction's invariant of always using fully reduced fractions.
=============== Diff against Kernel-fbs.752 ===============
Item was removed:
- ----- Method: Fraction class>>zero (in category 'constants') -----
- zero
- ^ self numerator: 0 denominator: 1.!
Frank Shearar uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-fbs.753.mcz
==================== Summary ====================
Name: Kernel-fbs.753
Author: fbs
Time: 31 March 2013, 9:48:19.626 pm
UUID: fed54ba8-20d7-48c6-b61f-939552ef780c
Ancestors: Kernel-fbs.752
Preserve Fraction's invariant of always using fully reduced fractions.
=============== Diff against Kernel-fbs.752 ===============
Item was removed:
- ----- Method: Fraction class>>zero (in category 'constants') -----
- zero
- ^ self numerator: 0 denominator: 1.!
Frank Shearar uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-fbs.753.mcz
==================== Summary ====================
Name: Kernel-fbs.753
Author: fbs
Time: 31 March 2013, 9:48:19.626 pm
UUID: fed54ba8-20d7-48c6-b61f-939552ef780c
Ancestors: Kernel-fbs.752
Preserve Fraction's invariant of always using fully reduced fractions.
=============== Diff against Kernel-fbs.752 ===============
Item was removed:
- ----- Method: Fraction class>>zero (in category 'constants') -----
- zero
- ^ self numerator: 0 denominator: 1.!
Frank Shearar uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-fbs.752.mcz
==================== Summary ====================
Name: Kernel-fbs.752
Author: fbs
Time: 30 March 2013, 10:09:47.906 pm
UUID: 0724a0a2-6b96-4e07-94ed-79bdc4e2466b
Ancestors: Kernel-eem.751
Increase the "polymorphitude" of numbers by supplying a default implementation of #zero, together with a few per-type specialisations to go with those we already have.
=============== Diff against Kernel-eem.751 ===============
Item was added:
+ ----- Method: Float class>>zero (in category 'constants') -----
+ zero
+ ^ 0.0.!
Item was added:
+ ----- Method: Fraction class>>zero (in category 'constants') -----
+ zero
+ ^ self numerator: 0 denominator: 1.!
Item was added:
+ ----- Method: Number class>>zero (in category 'constants') -----
+ zero
+ ^ 0.!
Frank Shearar uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-fbs.752.mcz
==================== Summary ====================
Name: Kernel-fbs.752
Author: fbs
Time: 30 March 2013, 10:09:47.906 pm
UUID: 0724a0a2-6b96-4e07-94ed-79bdc4e2466b
Ancestors: Kernel-eem.751
Increase the "polymorphitude" of numbers by supplying a default implementation of #zero, together with a few per-type specialisations to go with those we already have.
=============== Diff against Kernel-eem.751 ===============
Item was added:
+ ----- Method: Float class>>zero (in category 'constants') -----
+ zero
+ ^ 0.0.!
Item was added:
+ ----- Method: Fraction class>>zero (in category 'constants') -----
+ zero
+ ^ self numerator: 0 denominator: 1.!
Item was added:
+ ----- Method: Number class>>zero (in category 'constants') -----
+ zero
+ ^ 0.!
Frank Shearar uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-fbs.752.mcz
==================== Summary ====================
Name: Kernel-fbs.752
Author: fbs
Time: 30 March 2013, 10:09:47.906 pm
UUID: 0724a0a2-6b96-4e07-94ed-79bdc4e2466b
Ancestors: Kernel-eem.751
Increase the "polymorphitude" of numbers by supplying a default implementation of #zero, together with a few per-type specialisations to go with those we already have.
=============== Diff against Kernel-eem.751 ===============
Item was added:
+ ----- Method: Float class>>zero (in category 'constants') -----
+ zero
+ ^ 0.0.!
Item was added:
+ ----- Method: Fraction class>>zero (in category 'constants') -----
+ zero
+ ^ self numerator: 0 denominator: 1.!
Item was added:
+ ----- Method: Number class>>zero (in category 'constants') -----
+ zero
+ ^ 0.!
Frank Shearar uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-fbs.459.mcz
==================== Summary ====================
Name: Tools-fbs.459
Author: fbs
Time: 30 March 2013, 9:38:28.456 pm
UUID: 737fcfbc-3a01-4558-a89a-d4760753d8f7
Ancestors: Tools-eem.458
Mantis #6548. Reported and fix supplied by cdrick.
Would a non-default-Browser (OmniBrowser, say) user please verify this doesn't break anything? (Just cmd-B something.)
=============== Diff against Tools-eem.458 ===============
Item was changed:
----- Method: StringHolder>>browseMethodFull (in category '*Tools') -----
browseMethodFull
"Create and schedule a full Browser and then select the current class and message."
| myClass |
^ (myClass := self selectedClassOrMetaClass) ifNotNil:
+ [ToolSet browse: myClass selector: self selectedMessageName]!
- [Browser fullOnClass: myClass selector: self selectedMessageName]!
Frank Shearar uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-fbs.459.mcz
==================== Summary ====================
Name: Tools-fbs.459
Author: fbs
Time: 30 March 2013, 9:38:28.456 pm
UUID: 737fcfbc-3a01-4558-a89a-d4760753d8f7
Ancestors: Tools-eem.458
Mantis #6548. Reported and fix supplied by cdrick.
Would a non-default-Browser (OmniBrowser, say) user please verify this doesn't break anything? (Just cmd-B something.)
=============== Diff against Tools-eem.458 ===============
Item was changed:
----- Method: StringHolder>>browseMethodFull (in category '*Tools') -----
browseMethodFull
"Create and schedule a full Browser and then select the current class and message."
| myClass |
^ (myClass := self selectedClassOrMetaClass) ifNotNil:
+ [ToolSet browse: myClass selector: self selectedMessageName]!
- [Browser fullOnClass: myClass selector: self selectedMessageName]!
Frank Shearar uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-fbs.459.mcz
==================== Summary ====================
Name: Tools-fbs.459
Author: fbs
Time: 30 March 2013, 9:38:28.456 pm
UUID: 737fcfbc-3a01-4558-a89a-d4760753d8f7
Ancestors: Tools-eem.458
Mantis #6548. Reported and fix supplied by cdrick.
Would a non-default-Browser (OmniBrowser, say) user please verify this doesn't break anything? (Just cmd-B something.)
=============== Diff against Tools-eem.458 ===============
Item was changed:
----- Method: StringHolder>>browseMethodFull (in category '*Tools') -----
browseMethodFull
"Create and schedule a full Browser and then select the current class and message."
| myClass |
^ (myClass := self selectedClassOrMetaClass) ifNotNil:
+ [ToolSet browse: myClass selector: self selectedMessageName]!
- [Browser fullOnClass: myClass selector: self selectedMessageName]!
David T. Lewis uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-dtl.194.mcz
==================== Summary ====================
Name: Tests-dtl.194
Author: dtl
Time: 29 March 2013, 10:13:41.368 am
UUID: ba96f5b8-f215-4045-a16f-473c8dde8760
Ancestors: Tests-eem.193
Merge Tests-dtl.193
Background: http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-March/169911.ht…
Two tests that illustrate the limit to number of literals in a compiled method. Both tests pass on Squeak 4.4. One of the tests fails in the most recent Squeak trunk.
CompilerTest>>testMaxLiteralsWithClassReferenceInClosure passes in the image at
http://build.squeak.org/job/SqueakTrunk/212/ and fails in later updates to trunk.
=============== Diff against Tests-eem.193 ===============
Item was added:
+ ----- Method: CompilerTest>>testMaxLiterals (in category 'limits') -----
+ testMaxLiterals
+ "Document the maximum number of literals in a compiled method"
+
+ | maxLiterals stringThatCanBeCompiled stringWithOneTooManyLiterals |
+ maxLiterals := 249.
+ stringThatCanBeCompiled := '{ ', (String streamContents: [:strm |
+ 1 to: maxLiterals do: [:e | strm nextPutAll: '''', e asString, '''', ' . ']]), '}'.
+ stringWithOneTooManyLiterals := '{ ', (String streamContents: [:strm |
+ 1 to: maxLiterals + 1 do: [:e | strm nextPutAll: '''', e asString, '''', ' . ']]), '}'.
+ self shouldnt: [Compiler evaluate: stringThatCanBeCompiled logged: false] raise: Error.
+ self should: (Compiler evaluate: stringThatCanBeCompiled logged: false) size = maxLiterals.
+
+ "If the following test fails, it means that the limit has been raised or eliminated,
+ and this test should be updated to reflect the improvement."
+ self should: [Compiler evaluate: stringWithOneTooManyLiterals logged: false] raise: Error.
+ !
Item was added:
+ ----- Method: CompilerTest>>testMaxLiteralsWithClassReferenceInClosure (in category 'limits') -----
+ testMaxLiteralsWithClassReferenceInClosure
+ "Document the maximum number of literals in a compiled method. A class
+ reference in a closure reduces the maximum literals."
+
+ | maxLiterals stringThatCanBeCompiled stringWithOneTooManyLiterals |
+ maxLiterals := 244.
+ stringThatCanBeCompiled := '[ DateAndTime now. Date today. Time ]. { ',
+ (String streamContents: [:strm |
+ 1 to: maxLiterals do: [:e | strm nextPutAll: '''', e asString, '''', ' . ']]), '}'.
+ stringWithOneTooManyLiterals := '[ DateAndTime now. Date today. Time ]. { ',
+ (String streamContents: [:strm |
+ 1 to: maxLiterals + 1 do: [:e | strm nextPutAll: '''', e asString, '''', ' . ']]), '}'.
+ self shouldnt: [Compiler evaluate: stringThatCanBeCompiled logged: false] raise: Error.
+ self should: (Compiler evaluate: stringThatCanBeCompiled logged: false) size = maxLiterals.
+
+ "If the following test fails, it means that the limit has been raised or eliminated,
+ and this test should be updated to reflect the improvement."
+ self should: [Compiler evaluate: stringWithOneTooManyLiterals logged: false] raise: Error.
+ !