Daily Commit Log

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Daily Commit Log

commits-2
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&lt;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.

=============================================