Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007083.html
Name: Collections.spur-ul.564 Ancestors: Collections-ul.564
Collections-ul.564 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Make sure that Array >> #isLiteral won't get into an infinite recursion, even if the receiver has an recursive structure.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007084.html
Name: Collections.spur-topa.565 Ancestors: Collections-topa.565
Collections-topa.565 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
When a stream is created on a collection, it tries to keep using that collection instead of copying, even in the case of mutation of the original collection.
The code removed prevented this.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007085.html
Name: Collections.spur-nice.566 Ancestors: Collections-nice.566
Collections-nice.566 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Let NullStream understand protocol for Character writing.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007086.html
Name: Collections.spur-eem.567 Ancestors: Collections-eem.567
Collections-eem.567 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Fix ([Read|Write]Stream on:...from:...to:...) contents. The old code would always copy from 1 to the end, not from whatever the from: argument was.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007087.html
Name: Collections.spur-dtl.568 Ancestors: Collections-dtl.568
Collections-dtl.568 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Add a flush to WriteStream>>nextChunkPut:
This is a workaround for a bug in the runtime library of some versions of Ubuntu. The symptom is that creation of a class comment for a class that previously had no comment leads to a file size error in the new RemoteStream that points to the class comment. Actual file size and contents of the changes file are not affected by this bug, and the error occurs when reading contents of the changes file immediately following the initial save, Flushing the stream after writing a chunk to the changes file prevents the problem.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007088.html
Name: Collections.spur-nice.569 Ancestors: Collections-nice.569
Collections-nice.569 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Add NullStream>>ensureCr
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007089.html
Name: Collections.spur-nice.570 Ancestors: Collections-nice.570
Collections-nice.570 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Let's optimize a bit LinkedList>>at:ifAbsent: by scanning the list only once, unlike super.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007090.html
Name: Collections.spur-eem.571 Ancestors: Collections-eem.571
Collections-eem.571 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Speed up testing different sized strings for equality by adding a size text to String>>#=. Tis speeds up e.g. comparing the first 10,000 ByteString instances to each other by -67%.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007091.html
Name: Collections.spur-nice.572 Ancestors: Collections-nice.572
Collections-nice.572 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Let asUppercase and asLowercase use the unicode tables for wide strings/characters. Care is also taken to correctly handle characters with east asian encoding, but I'm not sure how healthy is this support in trunk...
Remove Character>>basicSqueakToIso which is totally obsolete (does not the right thing) and is not sent.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007092.html
Name: Kernel.spur-cmm.835 Ancestors: Kernel-cmm.835
Kernel-cmm.835 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
- Why is FileStream class>>#stderr primitive failing when asked for its #size?
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007093.html
Name: Kernel.spur-dtl.836 Ancestors: Kernel-dtl.836
Kernel-dtl.836 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Do not allow either basicNew: or basicNew for CompiledMethods because CompiledMethods may only be created with newMethod:header: (otherwise a VM crash may result).
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007094.html
Name: Kernel.spur-nice.838 Ancestors: Kernel-nice.838
Kernel-nice.838 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Don't let 0.1s1 // 0.1s1 engage an infinite loop when super would just do it right.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007095.html
Name: Kernel.spur-nice.839 Ancestors: Kernel-nice.839
Kernel-nice.839 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
For conformance to IEEE 754-2008 (IEC 60559-2011), the sucessor of Float fmin negated is now a negativeZero.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007096.html
Name: Kernel.spur-cwp.840 Ancestors: Kernel-cwp.840
Kernel-cwp.840 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Rename EnvironmentRequest to CurrentEnvironment.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007097.html
Name: Kernel.spur-nice.837 Ancestors: Kernel-nice.837
Kernel-nice.837 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Allow uppercase exponents in ExtendedNumberParser ('1.00E-2' asNumber)
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007098.html
Name: Kernel.spur-nice.840 Ancestors: Kernel-nice.840
Kernel-nice.840 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Correct a comment: integerPart is the integer part, not the fractional part.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007099.html
Name: Kernel.spur-nice.841 Ancestors: Kernel-nice.841
Kernel-nice.841 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Provide a somehow slower, but correct version of Integer>>#nthRoot: w.r.t. exactness
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007100.html
Name: Kernel.spur-nice.842 Ancestors: Kernel-nice.842
Kernel-nice.842 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Avoid using #reciprocalFloorLog: #reciprocalFloorLog: does the same as #floorLog: just with more noise. Once upon a time it was required, but it is not anymore and should be deprecated.
Note that floorLog: already cumulates 3 rounding errors via (self ln / base ln)
(-1 to: (Float fminDenormalized floorLog: 10) + 1 by: -1) count: [:i | | pow | pow := 10 raisedTo: i. (pow asFloat floorLog: 10) < i and: [pow asFloat >= pow]]. 89
But reciprocalFloorLog: is even worse:
(-1 to: (Float fminDenormalized floorLog: 10) + 1 by: -1) count: [:i | | pow | pow := 10 raisedTo: i. (pow asFloat reciprocalFloorLog: 10) < i and: [pow asFloat >= pow]]. 149
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007101.html
Name: Kernel.spur-nice.843 Ancestors: Kernel-nice.843
Kernel-nice.843 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Correct the bug I introduced for large integer sqrtFloor.
If receiver was of the form 2^2n*u we did answer 2^n *E(sqrt(u))
But sqrt(u) = E(sqrt(u)) + residue where 0<=residue<1 And result is rather E(2^n*sqrt(u)) = E( 2^n*(E(sqrt(u)) + residue)) = 2^n*E(sqrt(u)) + E(2^n*residue)
As 2^n * residue can be big (superior to 1), we miss the correct value by default.
If we want to correct this, an approximation of residue is (u-E(sqrt(u))^2) / 2 E(sqrt(u)) This is more or less like super Newton-Raphson inner loop... It would be possible to duplicate super work, but I feel like it's adding too much complexity for small reward, so I prefer to remove offending code for now
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007102.html
Name: Kernel.spur-cwp.844 Ancestors: Kernel-cwp.844
Kernel-cwp.844 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
merge
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007103.html
Name: Kernel.spur-cmm.845 Ancestors: Kernel-cmm.845
Kernel-cmm.845 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
- #flush after printing error information, and before image immediately exits, otherwise it won't always get written. - Add accessor for #negativeInfinity so I don't have to create new Float via Float infinity negated when all I want to do is compare. - #asBytesDescription for Float too because this is a very useful printing method for even things other than byte counts (and we should think of a better name for it too).
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007104.html
Name: Kernel.spur-eem.846 Ancestors: Kernel-eem.846
Kernel-eem.846 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Fix whichMethodsStoreInto: for pool variables. Any kind soul who wants to do the same for whichSelectorsStoreInto: et al is encouraged to do so. The test case is looking for reads or writes of a pool variable.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007105.html
Name: Kernel.spur-eem.847 Ancestors: Kernel-eem.847
Kernel-eem.847 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Fix class reshaping losing the correct methodClassAssociation in instance side methods.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007106.html
Name: Kernel.spur-nice.848 Ancestors: Kernel-nice.848
Kernel-nice.848 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Now that there is a direct access to Float negativeInfinity, use it.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007107.html
Name: Kernel.spur-nice.849 Ancestors: Kernel-nice.849
Kernel-nice.849 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
(Issue http://bugs.squeak.org/view.php?id=7755)
Note that if other letters follow the s, then s is not interpreted as a scale, because it could be a message. For example, (25sin) is interpreted as (25 sin) like in Pharo rather than (25s0 in) like in VW. This way, the chances of ambiguous interpretation of existing code base is limited to the sole message #s.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007108.html
Name: Kernel.spur-dtl.850 Ancestors: Kernel-dtl.850
Kernel-dtl.850 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Provide DateAndTme>>floor so that ObjectHistoryMark does not need to use instVarAt:put: to obtain a time stamp with whole seconds. This protects for future changes to DateAndTime that may not rely on an instance variable named #nanos.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007109.html
Name: Kernel.spur-eem.851 Ancestors: Kernel-eem.851
Kernel-eem.851 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
First part of Kernel multiple bytecode sets switchover. Make sure CompiledMethod>>ncoderClass works as expected before depening on it.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007110.html
Name: Kernel.spur-eem.852 Ancestors: Kernel-eem.852
Kernel-eem.852 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Change scanning methods in InstructionStream and CompiledMethod to double-dispatch through CompiledMethod>>#encoderClass to provide pluggable multiple bytecode set support. The sign of a method's header chooses which of two bytecode sets are in effect, choosing between PrimaryBytecodeSetEncoderClass (header >= 0), and SecondaryBytecodeSetEncoderClass (header <= 0).
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007111.html
Name: Kernel.spur-eem.854 Ancestors: Kernel-eem.854
Kernel-eem.854 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Fix the regression caused by Kernel-eem.847. Instead of installing teh correct binding in compileAllFrom: add behavior>>updateMethodBindingsTo: and invoke it from ClassBuilder>>update:to:. This restores the failing PureBehaviorTests>>testReshapeClass.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007112.html
Name: Kernel.spur-cmm.855 Ancestors: Kernel-cmm.855
Kernel-cmm.855 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
- A simple fix for an 8X performance improvement in DateAndTime>>#< as reported by LXTestDateAndTimePerformance.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007113.html
Name: Kernel.spur-nice.853 Ancestors: Kernel-nice.853
Kernel-nice.853 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Introduce an isAnExactFloat test, which is true when a Number can be converted as Float exactly. Use this to boost some mixed arithmetic comparisons by avoidance of Float>>asTrueFraction in more cases. Use this to make Fraction>>hash more explicit. While at it, improve a bit the Fraction>>hash in inexact case (previous naive bitXor: causes too many collisions) Since some hash has been modified, rehashAll in postscript.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007114.html
Name: Kernel.spur-dtl.856 Ancestors: Kernel-dtl.856
Kernel-dtl.856 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Fix inconsistent image state as reported on squeak-dev:
Date: Wed, 11 Jun 2014 23:44:42 -0400 From: Florin Mateoc To: The general-purpose Squeak developers list Subject: [squeak-dev] Class subclasses
I think this is an old bug, presumably since ProtoObject was introduced (and presumably because ObjectTracer was used in the process).
If you ask Class for its subclasses (or if you inspect it) you see that ObjectTracer class is listed along with ProtoObject class, although ObjectTracer's superclass is ProtoObject. This can lead to some funny bugs if you try to write some hierarchy traversing code.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007115.html
Name: Kernel.spur-eem.857 Ancestors: Kernel-eem.857
Kernel-eem.857 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Make the debuggber process faithful.
"Process>>effectiveProcess is a mechanism to allow process- faithful debugging. The debugger executes code on behalf of processes, so unless some effort is made the identity of Processor activeProcess is not correctly maintained when debugging code. The debugger uses evaluate:onBehalfOf: to assign the debugged process as the effectiveProcess of the process executing the code, preserving process identity."
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007116.html
Name: System.spur-dtl.666 Ancestors: System-dtl.666
System-dtl.666 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Sending basicNew to CompiledMethod may crash the VM, so don't do that.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007117.html
Name: System.spur-cmm.667 Ancestors: System-cmm.667
System-cmm.667 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
- Added method to get a valid MethodReference from a stale, invalid one.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007118.html
Name: System.spur-cmm.668 Ancestors: System-cmm.668
System-cmm.668 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
- Fix to SmalltalkImage>>#sourcesName allows appending the changes to the sources file (via Levente's SmalltalkImage>>#appendChangesTo:) to work. - Added #moveChanges as this should become a normal part of the release process. - Some categorizations.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007119.html
Name: System.spur-cmm.669 Ancestors: System-cmm.669
System-cmm.669 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
#moveChanges should prompt for the name of the condensed sources.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007120.html
Name: System.spur-cwp.670 Ancestors: System-cwp.670
System-cwp.670 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Rename EnvironmentRequest to CurrentEnvironment, use the new "Environment current" mechanism where appropriate.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007121.html
Name: System.spur-eem.671 Ancestors: System-eem.671
System-eem.671 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Fix allStoresInto:from: for pool variables and hence fix browsing assignments... to a pool variable in classes that use the pool.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007122.html
Name: System.spur-dtl.672 Ancestors: System-dtl.672
System-dtl.672 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.160
Provide DateAndTme>>floor so that ObjectHistoryMark does not need to use instVarAt:put: to obtain a time stamp with whole seconds. This protects for future changes to DateAndTime that may not rely on an instance variable named #nanos.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-June/007123.html
Name: Morphic-eem.726 Ancestors: Morphic-cmm.725
Open a SystemReporter in response to the About Squeak... menu pick.
=============================================
squeak-dev@lists.squeakfoundation.org