Planet Squeak Code

blogs about Squeak, Pharo, Croquet and family
planet squeak - planet squeak es - planet squeak jp - planet croquet - planet squeak code - planet smalltalk

February 16, 2019

source.squeak.org

Environments-cmm.74

Keep and access Classes and Traits by their #name's logical value instead of the physical identity of the String object.

by Chris Muller (ma.chris.m@gmail.com) at February 16, 2019 12:04 AM

February 14, 2019

source.squeak.org

FFI-Tests-KenD.12

Float comparison refinement: testGenericDoubleCall2

February 14, 2019 06:13 PM

Monticello-nice.695

Add a utility for finding last merge of two versions.

A use case:

| mcw allBF540 |
mcw := (MCPackage named: 'Monticello') workingCopy ancestry.
allBF540 := (mcw allAncestors select: [:e | e versionName = 'Monticello-bf.540' ]) asArray.
^mcw lastMergeOf: allBF540 first and: allBF540 last.

Note: implementation is sub-optimal but just works

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 14, 2019 12:46 PM

Monticello-cmm.1550112371873461

Monticello only requires monotonicity and uniqueness for its version numbers, not consecutiveness.

by Chris Muller (ma.chris.m@gmail.com) at February 14, 2019 02:53 AM

February 13, 2019

source.squeak.org

Graphics-mt.306

Support rounded corners with a radius of 4. Adds a preference to change radius (but still only supports 6 or 4).

Not sure, whether the corner rounder should survive in the long term...

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 10:20 PM

GetText-nice.19

Remove Undeclared references.

Note1: This implies moving an inst. var. declaration in an upper class, no idea how MC can handle this, cross fingers...

Note2: Since some of these methods were in startup: I don't believe the code was ever functional in Squeak, and I did not even try.

For these two reasons, I post in inbox, not directly in trunk

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 10:08 PM

MultilingualTests-tonyg.29

Test cases for the new
ByteArray>>utf8Decoded
String>>utf8Encoded
in Multilingual-tonyg.235, plus a new suite of test cases based on "UTF-8 decoder capability and stress test" by Markus Kuhn, UTF8EdgeCaseTest.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 05:10 PM

MultilingualTests-tonyg.30

An additional few invalid-UTF8 tests.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 05:10 PM

MultilingualTests-cbc.19

MultiByteFileStream>>testLineEndingChunk is failing on Windows platforms (maybe others). Tweaked test to show which of the 4 is failing.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 05:09 PM

Multilingual-tonyg.236

Properly report short sequences as InvalidUTF8 rather than out-of-bounds subscript. Fixes a failing UTF8EdgeCaseTest>>testSequencesWithLastContinuationByteMissing.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 05:06 PM

Morphic-dhn.723

Reduce cropping of SystemWindow submorphs by fullScreen

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 05:05 PM

Morphic-DS.916

Add basic support for borderStyles with non-uniform widths.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 05:03 PM

Morphic-kfr.1019

Adds a GradientEditor for morphic

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 05:01 PM

Morphic-tpr.1057

Add the STWCPW version of cursor gridding to HandMorph.
It may very well be better to add two instance variables rather than use a couple of properties to hold the state.
There may well be other methods needing changes.
To use:
start by sending gridTo: grid origin: origin to the hand
any subsequent temporaryCursor... will be forced to screeen co-ordinates that are on grid sized steps with an offset of the origin.
gridPointRaw provides the frid limited position of the current hand. Older events are *not* gridded - this is one of the places where there may be more to do.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:59 PM

Morphic-tpr.1059

When opening sub-menus with insufficient rightwards space on the Display we instead put them to the left of the parent. This change makes the leftward slide a bit smaller so that the mouse stays over menus was the user slides to the new menu; thus no strange closing of menus etc.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:58 PM

Morphic-jl.1291

better performance when making lots of cloned players

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:57 PM

Morphic-dtl.1396

For world-in-world uses such as a Worldlet, displayWorld should act upon the outermost containing world morph. Restore this behavior by un-deprecating PasteUpMorph>>privateOuterDisplayWorld and updating its implementation to match the current PasteUpMorph>>displayWorld, then reverting to the original version of PasteUpMorph>>displayWorld, which sends privateOuterDisplayWorld to the outermost world morph (which usually is self).

See discussion in [squeak-dev] Event Theatre in Object Catalog sparks DNU in 6.0-trunk

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:55 PM

Morphic-kfr.1423

Move PianoRollNoteMorph and ScorePlayerMorph to
MorphicExtras

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:53 PM

MonticelloConfigurations-bf.152

Suppress even more progress during version load

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:52 PM

Monticello-cmm.579

- When installing classes, ask EnvironmentRequest for the Environment to create in.
This lets MCEnvironmentLoadTest>>#testLoadIntoEnvironment pass.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:32 PM

Monticello-fbs.581

Make Monticello loading/unloading Environmentally aware. Loading Monticello definitions is as simple as

["loading logic here"]
on: EnvironmentRequest do: [:e | e resume: yourEnvironment].

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:30 PM

Monticello-fbs.582

If you can't find a binding for the class, just return nil, instead of throwing a KeyNotFound error. This matches the old behaviour.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:29 PM

Monticello-cmm.601

Recover quick keyboard access to the classic "install" and "revert" functions on the changed definitions list. Otherwise the new "Ignore (I)" function is selected whether "r" or "i" was pressed on the keyboard.
That function has a hot-key anyway, so move it below the the standard Monticello functions.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:27 PM

Monticello-tfel.608

add a menu item to browse patch against another version in the repository

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:25 PM

Monticello-eem.673

No longer hard-code the typeOfClass for compiled code MCClassDefinitions. Instead trust the typeSymbol argument.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:24 PM

KernelTests-tonyg.331

Updated and new tests for Promise, to match Kernel-tonyg.1148

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 13, 2019 04:24 PM

squeaksource.com

Collections.V3-dtl.820

Name: Collections-nice.820
Author: nice
Time: 12 February 2019, 11:56:35.262017 pm
UUID: bb383133-067c-4133-987b-c481a7de69c7
Ancestors: Collections-ul.819, Collections-cbc.813

Definitively abandon SequenceableCollection equality tests based on equal species.

Old behaviour can still be obtained thru hasEqualElements: but the default is to not try to support such trans-class equality feature because it is much too complex.

Particularly Interval are no more equal to Arrays with same sequence. We can thus optimize hash a bit more and fix the old bugs of equa objects with different hashes. Merge Collections-cbc.813 for this and rehashAll in postscript.

There are not so many classes concerned by this change, mainly RunArray, Interval and LinkedList:

Collection withAllSubclasses select: [:e | [e basicNew species ~= e] on: Error do: [false]]
-> an OrderedCollection(WeakRegistry LinkedList Interval ByteCharacterSet CharacterSetComplement LazyCharacterSet WideCharacterSet ShortRunArray Semaphore Mutex TextLineInterval WeakArray Monitor MCVersionName ByteSymbol WideSymbol)

We will have to change the tests that rely on such equality.

by Dave Lewis (lewis@mail.msen.com) at February 13, 2019 01:14 AM

Kernel.V3-dtl.1213

Name: Kernel-nice.1213
Author: nice
Time: 8 February 2019, 11:24:45.054968 pm
UUID: d7a472c9-49dd-4b1d-b73a-13b9c7c8d4c5
Ancestors: Kernel-tonyg.1212

Provide a logarithm in base 2: log2.
This (x log2) has an additional property that (x log: 2) has not: it is exact for exact powers of 2.

While implementing LogarithmicInterval, I recently wanted to use log: 2, and this was getting as bad as in Python. See https://stackoverflow.com/questions/931995/inaccurate-logarithm-in-python/54537441#54537441

I don't know if this feature is really worth it, but whether it ends up integrated or not, at least it demonstrates how easy it is to patch Squeak.

by Dave Lewis (lewis@mail.msen.com) at February 13, 2019 01:07 AM

February 12, 2019

squeaksource.com

LogarithmicInterval-nice.5

Abide to initializedInstance squeakism.
Let new fail like other Interval.
Don't ask super =, it brings nothing.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 12, 2019 10:03 PM

GeometricInterval-nice.5

Abide to initializedInstance squeakism
Fix new error message (a bit too much copy/pasted from Interval)
Don't ask super =, it brings nothing.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 12, 2019 10:02 PM

February 10, 2019

squeaksource.com

LogarithmicInterval-nice.4

includes: is same as super

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 10, 2019 09:26 PM

GeometricInterval-nice.4

includes: is same as super

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 10, 2019 09:26 PM

ImageSnapshot-dtl.3

Do not freeze the image if primitive support is not available. Handle the primitive failed error to ensure processing the startup list.

by Dave Lewis (lewis@mail.msen.com) at February 10, 2019 02:57 AM

February 09, 2019

source.squeak.org

VMMaker-dtl.398

Remove a halt from SlangTest>>testStatementListAsExpression from VMMaker-dtl.386.

This update temporarily bypasses VMMaker-eem.397, which needs to be merged. For now it cannot be loaded in a VMMaker on V3 image due to missing compiler and VMMaker support, so bypass it to allow the VMMaker update stream to continue working.

by David T. Lewis (lewis@mail.msen.com) at February 09, 2019 10:04 PM

squeaksource.com

CommandShell-dtl.97

Update for Cuis FileMan, use #withPathName instead of #pathName.

by Dave Lewis (lewis@mail.msen.com) at February 09, 2019 01:21 PM

CommandShell-Base-dtl.63

Update for Cuis FileMan, use #withPathName instead of #pathName.

by Dave Lewis (lewis@mail.msen.com) at February 09, 2019 01:21 PM

OSProcess-dtl.112

Update for Cuis FileMan, use #withPathName instead of #pathName.

by Dave Lewis (lewis@mail.msen.com) at February 09, 2019 01:20 PM

OSProcess-Base-dtl.66

Update for Cuis FileMan, use #withPathName instead of #pathName.

by Dave Lewis (lewis@mail.msen.com) at February 09, 2019 01:20 PM

OSProcess-Tests-dtl.17

Update for Cuis FileMan, use #withPathName instead of #pathName.

by Dave Lewis (lewis@mail.msen.com) at February 09, 2019 01:19 PM

WASM-edc.37

More bug fixes

February 09, 2019 09:34 AM

February 08, 2019

source.squeak.org

Kernel-nice.1213

Provide a logarithm in base 2: log2.
This (x log2) has an additional property that (x log: 2) has not: it is exact for exact powers of 2.

While implementing LogarithmicInterval, I recently wanted to use log: 2, and this was getting as bad as in Python. See https://stackoverflow.com/questions/931995/inaccurate-logarithm-in-python/54537441#54537441

I don't know if this feature is really worth it, but whether it ends up integrated or not, at least it demonstrates how easy it is to patch Squeak.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 10:24 PM

squeaksource.com

LogarithmicIntervalTests-nice.2

Document robustness to extreme range.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 09:00 PM

LogarithmicInterval-nice.2

Review comment explaining the default base.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 09:00 PM

GeometricIntervalTests-nice.2

Demonstrate that we can handle negative GeometricInterval.

Also document thru the expectedFailures, the limitations due to impossibility to represent the ratio in floating point for extreme range.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 08:56 PM

GeometricInterval-nice.2

Provide a more robust size. Indeed, (start / stop) might underflow or overflow in floating point.

Remove remove: because #remove:ifAbsent: already shouldNotImplement at upper level.

Use isExact for testing the case of exact arithmetic.
Note about implementation of isExact: this is not very object oriented: we pretend to be omniscient and know how other objects will behave instead of delegating...

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 08:54 PM

LogarithmicInterval-nice.1

Provide a LogarithmicInterval specified by logarithm of bounds.

It is much like GeometricInterval, but is not able to generate negative intervals.

For large intervals, it is more robust numerically than GeometricInterval.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 08:20 PM

LogarithmicIntervalTests-nice.1

Provide tests for LogarithmicInterval

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 08:17 PM

GeometricIntervalTests-nice.1

First SUnit tests for GeometricInterval

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 01:52 PM

GeometricInterval-nice.1

Port the GeometricInterval from VW Cincom public store (SYSEXT-GeometricInterval).

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at February 08, 2019 01:49 PM

February 07, 2019

source.squeak.org

Help-Squeak-Project-pre.66

Removes an example method which did not work in a stable way and improved the presentation of the example list.

by Patrick Rein (patrick.rein@gmail.com) at February 07, 2019 07:50 PM

squeaksource.com

Time-PaulDeBruicker.54

Changes for Pharo7. It does not understand Object>>#ifNotNilDo: and Object>>#name

by Paul DeBruicker (pdebruic@gmail.com) at February 07, 2019 03:58 PM

WASM-edc.36

empty log message

February 07, 2019 01:50 PM

source.squeak.org

FFI-Tests-cbc.9

Remove test on ExternalForm (since it was removed from FFI package - and it was wrong, now, too). Currently in EToys tests.

February 07, 2019 04:19 AM

VMMaker.oscog-eem.2520

Merge with VMMaker.oscog-KenD.2518 & VMMaker.oscog-KenD.2519.

ARM64:
Non-register struct returns now work.
[Needs corresponding vm]

Struct return in registers works.
All FFI tests now pass (need to add more).

by Eliot Miranda (eliot.miranda@gmail.com) at February 07, 2019 12:41 AM

VMMaker.oscog-KenD.2519

Non-register struct returns now work.
[Needs corresponding vm]

February 07, 2019 12:09 AM

February 06, 2019

squeaksource.com

WASM-edc.35

empty log message

February 06, 2019 08:46 AM

February 05, 2019

squeaksource.com

WASM-edc.34

empty log message

February 05, 2019 09:43 PM

February 04, 2019

squeaksource.com

WASM-edc.32

More bugFixes

February 04, 2019 06:54 AM

WASM-edc.31

Bug fixes, solve more .wat now

February 04, 2019 06:05 AM

VMConstruction-Plugins-XDisplayControlPlugin.oscog-dtl.18

Restore the missed update from VMConstruction-Plugins-XDisplayControlPlugin-eem.12 that belongs in the oscog branch.

Name: VMConstruction-Plugins-XDisplayControlPlugin-eem.12
Author: eem
Time: 18 May 2017, 9:25:32.014743 am
UUID: aedd8b87-9628-4a9a-9d90-c0cde2cce9b9
Ancestors: VMConstruction-Plugins-XDisplayControlPlugin-eem.11

Avoid push/popRemappableOop on Spur when creating transient C strings by using remapOop:in:

by Dave Lewis (lewis@mail.msen.com) at February 04, 2019 03:11 AM

source.squeak.org

VMMaker-dtl.397

Merge Nicolas' fixes for FloatMathPluginTests from oscog. Tests are green with this update.

Name: VMMaker.oscog-nice.2492
Author: nice
Time: 11 December 2018, 10:52:00.075091 pm
UUID: 8fac9bb8-92b6-41f2-8646-230a75c04ee9
Ancestors: VMMaker.oscog-eem.2491

Fix the FloatMathPluginTests and classify them in 'VMMaker-Tests'

All the reference md5 hash have been produced with specific series of number generated with a specific Park-Miller Pseudo-Random-Number-Generator.

The tests cannot rely on Random implementation (or should I say random implementation) which happens to change from time to time, so hardcode the PRNG.

by David T. Lewis (lewis@mail.msen.com) at February 04, 2019 03:08 AM

squeaksource.com

VMConstruction-Plugins-AioPlugin-dtl.24

AioPlugin 2.2.8
Merging the compatible updates from MConstruction-Plugins-AioPlugin-eem.18 and VMConstruction-Plugins-AioPlugin-eem.22.

by Dave Lewis (lewis@mail.msen.com) at February 04, 2019 01:24 AM

VMConstruction-Plugins-AioPlugin-dtl.23

Support establishing an oscog branch for Cog/Spur changes that may not be compatible. Resave starting with MConstruction-Plugins-AioPlugin-eem.16. Update version string to 2.2.7 to reflect prior changes.

by Dave Lewis (lewis@mail.msen.com) at February 04, 2019 01:24 AM

VMConstruction-Plugins-XDisplayControlPlugin-dtl.18

Merge VMConstruction-Plugins-XDisplayControlPlugin-eem.16

by Dave Lewis (lewis@mail.msen.com) at February 04, 2019 01:23 AM

VMConstruction-Plugins-XDisplayControlPlugin-dtl.17

Support establishing an oscog branch for Cog/Spur changes that may not be compatible. Resave starting with VMConstruction-Plugins-XDisplayControlPlugin-dtl.14.

by Dave Lewis (lewis@mail.msen.com) at February 04, 2019 01:23 AM

VMConstruction-Plugins-AioPlugin.oscog-dtl.23

Establish an oscog branch for AioPlugin, such that commits that depend on VMMaker.oscog features, or on recent compiler features in the host image, can be made to the VMConstruction-Plugins-AioPlugin.oscog branch. This is consistent with naming convention for VMMaker.oscog and OSProcessPlugin.oscog.

The original VMConstruction-Plugins-AioPlugin branch continues to be maintained.

by Dave Lewis (lewis@mail.msen.com) at February 04, 2019 01:21 AM

VMConstruction-Plugins-XDisplayControlPlugin.oscog-dtl.17

Establish an oscog branch for XDisplayControlPlugin, such that commits that depend on VMMaker.oscog features, or on recent compiler features in the host image, can be made to the VMConstruction-Plugins-XDisplayControlPlugin.oscog branch. This is consistent with naming convention for VMMaker.oscog and OSProcessPlugin.oscog.

The original VMConstruction-Plugins-XDisplayControlPlugin branch continues to be maintained.

by Dave Lewis (lewis@mail.msen.com) at February 04, 2019 01:20 AM

February 03, 2019

squeaksource.com

ConfigurationOfTimeZoneDatabase-PaulDeBruicker.14

added an error to get people to use the BaselineOfTimeZoneDatabase in this directory

by Paul DeBruicker (pdebruic@gmail.com) at February 03, 2019 07:01 PM

TimeZoneDatabase-Pharo-PaulDeBruicker.8

pharo 7 dnu ifNotNilDo:

by Paul DeBruicker (pdebruic@gmail.com) at February 03, 2019 06:59 PM

BaselineOfTimeZoneDatabase-PaulDeBruicker.1

initial commit

by Paul DeBruicker (pdebruic@gmail.com) at February 03, 2019 06:43 PM

source.squeak.org

Collections-ul.819

- merge sort tweaks

by Levente Uzonyi (leves@caesar.elte.hu) at February 03, 2019 05:44 PM

squeaksource.com

WASM-edc.30

empty log message

February 03, 2019 09:24 AM

February 02, 2019

source.squeak.org

ToolBuilder-Morphic-jr.225

Fix: FileSaverDialog would answer 'nil' instead of nil when nothing was done except for accepting the dialog

February 02, 2019 11:02 PM

January 30, 2019

source.squeak.org

System-tonyg.1054

Improve promise resolution error handling via #fulfillWith:.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at January 30, 2019 05:28 PM

Morphic-tonyg.1477

Improve promise resolution error handling via #fulfillWith:.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at January 30, 2019 05:28 PM

KernelTests-tonyg.354

Improve promise resolution error handling via #fulfillWith:.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at January 30, 2019 05:27 PM

Kernel-tonyg.1212

Improve promise resolution error handling via #fulfillWith:.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at January 30, 2019 05:27 PM

January 29, 2019

source.squeak.org

Kernel-tonyg.1153

Improve promise resolution error handling via #fulfillWith:.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at January 29, 2019 11:01 PM

Kernel-tonyg.1212

Merge "Improve promise resolution error handling via #fulfillWith:."

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at January 29, 2019 10:59 PM

January 28, 2019

source.squeak.org

VMMaker.oscog-eem.2518

Fix initialization for solitary plugin generation (plugin generation without having generated a VM).

by Eliot Miranda (eliot.miranda@gmail.com) at January 28, 2019 11:17 PM

VMMaker.oscog-eem.2517

Merge with VMMaker.oscog-KenD.2516
ThreadedARMFFIPlugin:

Renamed ThreadedARMFFIPlugin to ThreadedARM32FFIPlugin to accord with ThreadedARM64FFIPlugin (more descriptive)

Reversed the way single and double floats were handled in callOutState floatRegisters to simplify the logic a bit.

Updated struct size rounding for aarch64.

by Eliot Miranda (eliot.miranda@gmail.com) at January 28, 2019 07:49 PM

January 27, 2019

source.squeak.org

Chronology-Tests-dtl.18

Do not use #makeUTC in DateAndTimeTest>>testGetSeconds because it modifies magnitude.

by David T. Lewis (lewis@mail.msen.com) at January 27, 2019 06:21 PM

Chronology-Core-dtl.38

Change DateAndTime>>makeUTC to behave as in prior versions of Chronology, and expand its comment to explain that both magniitude and timezone offset are changed in the receiver. Update DateAndTime>>asUTC to avoid use of makeUTC.Fixes three failing unit tests.

by David T. Lewis (lewis@mail.msen.com) at January 27, 2019 06:21 PM

January 26, 2019

squeaksource.com

Collections.V3-dtl.818

Name: Collections-pre.818
Author: pre
Time: 25 January 2019, 5:54:07.601527 pm
UUID: 75f53672-b087-3542-be05-41a072b91917
Ancestors: Collections-topa.806, Collections-mt.817

Adds a isOfSameSizeCheck: analogous to the emptyCheck to be used to check whether an argument has the same size as the receiver.

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 09:51 PM

System.V3-dtl.1053

Name: System-mt.1053
Author: mt
Time: 24 January 2019, 2:13:52.854611 pm
UUID: 3877b382-e5b6-634b-944f-d484544f0542
Ancestors: System-mt.1052

Found a better API for the pragma-clean-up. Accidentally removed the removal of obsolete preferences in the previous commit. Fix that, too.

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 01:11 AM

System.V3-dtl.1052

Name: System-mt.1052
Author: mt
Time: 24 January 2019, 2:05:11.02266 pm
UUID: 6db55eef-6153-0949-b109-6cf5ab454a91
Ancestors: System-mt.1051

Synchronize preference cache for pragma-preferences on clean-up. For example, the 5.2 release misses the "sort message categories alphabetically" entry in our Preference Browser.

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 01:10 AM

Kernel.V3-dtl.1211

Name: Kernel-mt.1211
Author: mt
Time: 22 January 2019, 1:51:49.258809 pm
UUID: 2bc71a1e-02c1-824a-ae49-4db30171e2f9
Ancestors: Kernel-eem.1210

1) Restart timer-interrupt watcher process during system-wide clean-up.
2) Extract idle-process into own method because that's what we usually do: EventSensor (interrupt watcher), EventSensor (event tickler), WeakArray (finalization), etc.

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 01:07 AM

Collections.V3-dtl.817

Name: Collections-mt.817
Author: mt
Time: 25 January 2019, 9:42:56.826457 am
UUID: 25009a5a-3d03-ea42-8c4a-f1a5e01b218d
Ancestors: Collections-mt.816

Un-deprecate "flush" SharedQueue2. See Levente's thoughts on this topic: http://forum.world.st/Stream-SharedQueue2-39Deprecated-flush-td5094045.html

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 01:02 AM

Collections.V3-dtl.816

Name: Collections-mt.816
Author: mt
Time: 25 January 2019, 9:34:00.676997 am
UUID: d70f1d8e-6eb9-204c-86fc-e538f8efec98
Ancestors: Collections-mt.815

Generalize try-ignore. See discussion: http://forum.world.st/The-Inbox-Collections-mt-812-mcz-tp5091227.html

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 01:01 AM

Collections.V3-dtl.815

No changes. Bring version number up to date with the merges in trunk, which skipped a number, and account for a merge already included here.

Name: Collections-mt.815
Author: mt
Time: 25 January 2019, 9:14:33.882997 am
UUID: 84a9d4dc-2c9e-4b48-84b9-66254895c0bb
Ancestors: Collections-mt.812, Collections-JH.814

Merges Collections-JH.814

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 01:00 AM

Collections.V3-dtl.813

Name: Collections-JH.814
Author: JH
Time: 24 January 2019, 10:32:33.157023 am
UUID: 2981cec1-a155-7840-bbff-827a8f3387bb
Ancestors: Collections-eem.806

Add check to FloatArray primitive fallback code to ensure that receiver and argument have the same size (argument was previously allowed to be larger than receiver, which does not make sense mathematically).

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 12:55 AM

Collections.V3-dtl.812

Name: Collections-mt.812
Author: mt
Time: 18 December 2018, 11:58:09.289023 am
UUID: 64ff5a45-61b5-5642-aa46-9fbeac0215dd
Ancestors: Collections-eem.811

Adds a small scripting/debugging interface to evaluate code on a heterogeneous collection. Ignore errors on the way.

1. Example: A bunch of morphs whose n-th submorph should be made yellow. Would raise errors for morphs with less than n submorphs.

ActiveWorld submorphs try: [:ea | ea submorphs fifth color: Color yellow].

2. Example: Fetch the selected classes of all code browsers through the submorph interface.

| results |
results := OrderedCollection new.
ActiveWorld submorphs try: [:ea | results add: ea model selectedClass].
results explore.

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 12:53 AM

Compiler.V3-dtl.400

Name: Compiler-eem.400
Author: eem
Time: 18 January 2019, 1:14:15.703384 pm
UUID: 0454c383-0390-4733-ad3e-ed056ace7715
Ancestors: Compiler-eem.399

Fix some typos in the V3 bytecode set description

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 12:51 AM

VMConstruction-Plugins-OSProcessPlugin.oscog-dtl.66

Fix a slip in Win32OSProcessPlugin>>primitiveGetEnvironmentStringsAsBytes, call the right method this time.

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 12:15 AM

VMConstruction-Plugins-OSProcessPlugin-dtl.46

Fix a slip in Win32OSProcessPlugin>>primitiveGetEnvironmentStringsAsBytes, call the right method this time.

by Dave Lewis (lewis@mail.msen.com) at January 26, 2019 12:14 AM

January 25, 2019

source.squeak.org

VMMaker.oscog-eem.2511

Fix simulation of the SocketPlugin

by Eliot Miranda (eliot.miranda@gmail.com) at January 25, 2019 08:39 PM

Help-Squeak-Project-pre.65

Adds <abbr title="U+0005">�</abbr>longer help texts to the message categories help chapters.

by Patrick Rein (patrick.rein@gmail.com) at January 25, 2019 05:12 PM

Collections-pre.818

Adds a isOfSameSizeCheck: analogous to the emptyCheck to be used to check whether an argument has the same size as the receiver.

by Patrick Rein (patrick.rein@gmail.com) at January 25, 2019 04:54 PM

HelpSystem-Core-pre.108

A minor commit which re-categorizes three methods to be consistent with the protocol they should belong to. This is required for the test of the new help topic.

by Patrick Rein (patrick.rein@gmail.com) at January 25, 2019 04:50 PM

Help-Squeak-Project-pre.64

Adds a help topic on the message categories commonly used in the system. This is not done by any means but should provide an initial overview. This includes a test cases which ensures that the examples used in the documentation are actually in the categories for which they are used as examples.

by Patrick Rein (patrick.rein@gmail.com) at January 25, 2019 04:49 PM

Squeak-Version-mt.5156

Unload 39Deprecated package as discussed in the last board meeting.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:49 AM

39Deprecated-mt.22

See Collections/mt.817.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:43 AM

Collections-mt.817

Un-deprecate "flush" SharedQueue2. See Levente's thoughts on this topic: http://forum.world.st/Stream-SharedQueue2-39Deprecated-flush-td5094045.html

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:42 AM

CollectionsTests-mt.300

Adds tests for try-ignore. Cleans up message categories "tests" and "testing".

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:34 AM

Collections-mt.816

Generalize try-ignore. See discussion: http://forum.world.st/The-Inbox-Collections-mt-812-mcz-tp5091227.html

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:34 AM

Collections-mt.812

Adds a small scripting/debugging interface to evaluate code on a heterogeneous collection. Ignore errors on the way.

1. Example: A bunch of morphs whose n-th submorph should be made yellow. Would raise errors for morphs with less than n submorphs.

ActiveWorld submorphs try: [:ea | ea submorphs fifth color: Color yellow].

2. Example: Fetch the selected classes of all code browsers through the submorph interface.

| results |
results := OrderedCollection new.
ActiveWorld submorphs try: [:ea | results add: ea model selectedClass].
results explore.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:19 AM

CollectionsTests-JH.298

This adds a test for FloatArray vector operations, including behaviour introduced by <abbr title="U+0005">�</abbr>Collections-JH.814

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:17 AM

Collections-JH.814

Add check to FloatArray primitive fallback code to ensure that receiver and argument have the same size (argument was previously allowed to be larger than receiver, which does not make sense mathematically).

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:15 AM

CollectionsTests-mt.299

Merges CollectionsTests-JH.298

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:14 AM

Collections-mt.815

Merges Collections-JH.814

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 25, 2019 08:14 AM

VMMaker.oscog-KenD.2515

Updated struct size rounding for aarch64.

[1 unit test still fails]

January 25, 2019 04:35 AM

January 23, 2019

source.squeak.org

VMMaker.oscog-KenD.2513

Reversed the way single and double floats were handled in callOutState floatRegisters to simplify the logic a bit.

January 23, 2019 04:31 PM

Chronology-Tests-pre.17

Updates testWait to use the standard library constructor for millisecond Durations

by Patrick Rein (patrick.rein@gmail.com) at January 23, 2019 03:10 PM

Chronology-Tests-dtl.15

Add testGetSeconds to verify that getSeconds represents whole seconds in the local time zone. For a given instance of DateAndTime, changing the time zone offset changes the local representation, but does not affect magnitude (time since a defiined epoch). Therefore, if time zone offset changes, the asSeconds value should not change, and the getSeconds value should change to reflect local timezone.

by Patrick Rein (patrick.rein@gmail.com) at January 23, 2019 03:08 PM

Chronology-Tests-pre.16

- adds the DateAndTimeTest>>#testGetSeconds test from dtl
- adds a test for Duration>>#wait
- updates an old test to match the new API #testNew
- recategorizes the tests into the tests category

by Patrick Rein (patrick.rein@gmail.com) at January 23, 2019 03:07 PM

ToolBuilder-Morphic-mt.224

For (pluggable) scroll panes through the tool builder, use optional scroll bars for both dimensions now. Ignore system-wide preferences because those usually address code-editing tools, not arbitrary programs.

Note that we might want to rename those preferences (#alwaysShowVScrollbar, #alwaysHideHScrollbar, etc.) and move their usages out of ScrollPane into the #buildWith: implementations of our tools (CodeHolder, Debugger, etc.). You need to know about the specific contents of those scroll panes to make such hide/show decisions.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 23, 2019 12:37 PM

squeaksource.com

VMConstruction-Plugins-OSProcessPlugin.oscog-dtl.65

Merge updates from VMConstruction-Plugins-OSProcessPlugin-dtl.45 in oscog branch.

For primitives that answer environment and path as ByteString, add additional primitives to answer the results in ByteArray. For example, #primitiveEnvironmentAtSymbol now has a companion primitive called #primitiveEnvironmentAtSymbolAsBytes. This is to support conversion of environment and path to multibyte strings.

For UnixOSProcessPlugin the new primitives are:
#primitiveGetCurrentWorkingDirectoryAsBytes
#primitiveArgumentAtAsBytes
#primitiveEnvironmentAtAsBytes
#primitiveEnvironmentAtSymbolAsBytes
#primitiveRealpathAsBytes.

For Win32ProcessPlugin the new primitives are:
#primitiveGetCurrentWorkingDirectoryAsBytes
#primitiveGetEnvironmentStringsAsBytes

by Dave Lewis (lewis@mail.msen.com) at January 23, 2019 11:04 AM

January 22, 2019

source.squeak.org

VMMaker.oscog-KenD.2512

Renamed ThreadedARMFFIPlugin to ThreadedARM32FFIPlugin to accord with ThreadedARM64FFIPlugin (more descriptive)

January 22, 2019 09:45 PM

ReleaseBuilder.merge-dtl.191

Adopt changes from ReleaseBuilder-mt.194, bypassing intermediate changes since ReleaseBuilder-fn.190. Commit notice from trunk follows:

Name: ReleaseBuilder-mt.194
Author: mt
Time: 22 January 2019, 1:54:52.748809 pm
UUID: d8d38edc-1fc5-7442-b1aa-cd69c2047a6b
Ancestors: ReleaseBuilder-mt.193

Addition to Kernel-mt.1211

1) Adds hook to ReleaseBuilder to manage/prepare processes.
2) Adds special save-and-quit to ReleaseBuilder, which restarts the UI process.

Note: We still have to adapt our Travis/smalltalkCI script to make use of UI-process restart. See the discussion about wrong source pointers: http://forum.world.st/Re-Wrong-method-source-pointer-in-Squeak5-2-tp5093412.html

by David T. Lewis (lewis@mail.msen.com) at January 22, 2019 06:03 PM

Chronology-Core-dtl.33

Restore Duration>>wait which was introduced in Chronology-Core-mt.11 and accidently removed in recent updates.

by David T. Lewis (lewis@mail.msen.com) at January 22, 2019 05:04 PM

VMMaker.oscog-KenD.2511

Needed
StackInterpreter initializeMiscConstants.
and
double -> float for floatArgRegisters

January 22, 2019 05:02 PM

Tools-pre.844

Recategorizes some messages for message lists in Browser and MessageSet as pointed out by Tim Johnson.

by Patrick Rein (patrick.rein@gmail.com) at January 22, 2019 04:53 PM

ReleaseBuilder-mt.194

Addition to Kernel-mt.1211

1) Adds hook to ReleaseBuilder to manage/prepare processes.
2) Adds special save-and-quit to ReleaseBuilder, which restarts the UI process.

Note: We still have to adapt our Travis/smalltalkCI script to make use of UI-process restart. See the discussion about wrong source pointers: http://forum.world.st/Re-Wrong-method-source-pointer-in-Squeak5-2-tp5093412.html

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 22, 2019 12:54 PM

Kernel-mt.1211

1) Restart timer-interrupt watcher process during system-wide clean-up.
2) Extract idle-process into own method because that's what we usually do: EventSensor (interrupt watcher), EventSensor (event tickler), WeakArray (finalization), etc.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at January 22, 2019 12:51 PM

January 21, 2019

source.squeak.org

SqueakSSL-Core-ul.30

- Use the DNS names from the certificate's SAN extension (#subjectAltNameDNS) in #verifyCert:.
- Use case insensitive host name comparison in #verifyCert:.

by Levente Uzonyi (leves@elte.hu) at January 21, 2019 10:41 PM

Chronology-Tests-ul.15

- updated DateAndTimeTest >> #testPrecision to be aware of Time's ClockPolicy

by Levente Uzonyi (leves@elte.hu) at January 21, 2019 10:40 PM

Chronology-Core-ul.22

- added an accessor to Time's ClockPolicy, so that tests can depend on its current value
- optimized various DateAndTime methods

by Levente Uzonyi (leves@elte.hu) at January 21, 2019 10:39 PM

Chronology-Core-ul.23

- added an accessor to Time's ClockPolicy, so that tests can depend on its current value
- optimized various DateAndTime methods

by Levente Uzonyi (leves@elte.hu) at January 21, 2019 10:38 PM

squeaksource.com

OSProcess-dtl.111

OSProcess 4.6.14
Add accessors for new primitives that answer ByteArray results for environment and path strings.

Requires OSProcessPlugin 4.5.4 (VMConstruction-Plugins-OSProcessPlugin-dtl.45) or later.

For example, "OSProcess accessor primGetCurrentWorkingDirectory" answers a ByteString, and the new accessor "OSProcess accessor primGetCurrentWorkingDirectoryAsBytes" answers a ByteArray that can be converted a string with multibyte characters.

by Dave Lewis (lewis@mail.msen.com) at January 21, 2019 03:06 PM

OSProcess-Base-dtl.65

OSProcess 4.6.14
Add accessors for new primitives that answer ByteArray results for environment and path strings.

Requires OSProcessPlugin 4.5.4 (VMConstruction-Plugins-OSProcessPlugin-dtl.45) or later.

For example, "OSProcess accessor primGetCurrentWorkingDirectory" answers a ByteString, and the new accessor "OSProcess accessor primGetCurrentWorkingDirectoryAsBytes" answers a ByteArray that can be converted a string with multibyte characters.

by Dave Lewis (lewis@mail.msen.com) at January 21, 2019 03:06 PM

OSProcess-Unix-dtl.32

OSProcess 4.6.14
Add accessors for new primitives that answer ByteArray results for environment and path strings.

Requires OSProcessPlugin 4.5.4 (VMConstruction-Plugins-OSProcessPlugin-dtl.45) or later.

For example, "OSProcess accessor primGetCurrentWorkingDirectory" answers a ByteString, and the new accessor "OSProcess accessor primGetCurrentWorkingDirectoryAsBytes" answers a ByteArray that can be converted a string with multibyte characters.

by Dave Lewis (lewis@mail.msen.com) at January 21, 2019 03:05 PM

OSProcess-Win32-dtl.17

OSProcess 4.6.14
Add accessors for new primitives that answer ByteArray results for environment and path strings.

Requires OSProcessPlugin 4.5.4 (VMConstruction-Plugins-OSProcessPlugin-dtl.45) or later.

For example, "OSProcess accessor primGetCurrentWorkingDirectory" answers a ByteString, and the new accessor "OSProcess accessor primGetCurrentWorkingDirectoryAsBytes" answers a ByteArray that can be converted a string with multibyte characters.

by Dave Lewis (lewis@mail.msen.com) at January 21, 2019 03:05 PM

VMConstruction-Plugins-OSProcessPlugin-dtl.45

OSProcessPlugin 4.6.4
For primitives that answer environment and path as ByteString, add additional primitives to answer the results in ByteArray. For example, #primitiveEnvironmentAtSymbol now has a companion primitive called #primitiveEnvironmentAtSymbolAsBytes. This is to support conversion of environment and path to multibyte strings.

For UnixOSProcessPlugin the new primitives are:
#primitiveGetCurrentWorkingDirectoryAsBytes
#primitiveArgumentAtAsBytes
#primitiveEnvironmentAtAsBytes
#primitiveEnvironmentAtSymbolAsBytes
#primitiveRealpathAsBytes.

For Win32ProcessPlugin the new primitives are:
#primitiveGetCurrentWorkingDirectoryAsBytes
#primitiveGetEnvironmentStringsAsBytes

by Dave Lewis (lewis@mail.msen.com) at January 21, 2019 02:40 PM

January 15, 2019

squeaksource.com

ConfigurationOfXMLRPC-sg.22

empty log message

January 15, 2019 06:26 AM

January 14, 2019

source.squeak.org

Tools-eem.843

Retain the default label for a MessageTrace and restore it when there is no selection. Hence preserve useful info like number of selected methods in a browseAllSelect:.
Chris M, please review.

by Eliot Miranda (eliot.miranda@gmail.com) at January 14, 2019 06:30 PM

Cog-eem.352

Add a method that decides, using bytecode dominator discovery, if a method contains an optimized conditional used as either a message receiver or parameter, or a value to store or return.

by Eliot Miranda (eliot.miranda@gmail.com) at January 14, 2019 04:25 PM

Chronology-Tests-ul.15

- updated DateAndTimeTest >> #testPrecision to be aware of Time's ClockPolicy

by Levente Uzonyi (leves@elte.hu) at January 14, 2019 12:18 PM

Chronology-Core-ul.22

- added an accessor to Time's ClockPolicy, so that tests can depend on its current value
- optimized various DateAndTime methods

by Levente Uzonyi (leves@elte.hu) at January 14, 2019 12:18 PM

January 12, 2019

source.squeak.org

Chronology-Tests-dtl.15

Add testGetSeconds to verify that getSeconds represents whole seconds in the local time zone. For a given instance of DateAndTime, changing the time zone offset changes the local representation, but does not affect magnitude (time since a defiined epoch). Therefore, if time zone offset changes, the asSeconds value should not change, and the getSeconds value should change to reflect local timezone.

by David T. Lewis (lewis@mail.msen.com) at January 12, 2019 03:52 PM

January 11, 2019

squeaksource.com

ConfigurationOfSmallapack-nice.28

Tweak 1.6: provide a version that does not crash in UnifiedFFI due to obsolete ExternalAddress>>shallowCopy override

January 11, 2019 09:31 PM

ConfigurationOfSmallapack-nice.28

Tweak 1.6: provide a version that does not crash in UnifiedFFI due to obsolete ExternalAddress>>shallowCopy override

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 09:30 PM

Smallapack-Collection-nice.20

Remove ExternalAddress>>shallowCopy

Once upon a time (2006), this was a fix necessary for FFI, because super shallowCopy would send new: and would fail for an ExternalAddress.

But the implementation of Smallapack calls replaceFrom:to:with:startingAt: which has been defined in UnifiedFFI for writing to the contents pointed by the address (which dereference the NULL pointer, since the copy is not yet initialized, argh).

The best thing is to remove the not-required-anymore fix.

Anyway, if we must fix FFI, we will fix FFI.
Smallapack does not have to fix FFI by itself (this would be necessary only in a hostile or frozen world).

January 11, 2019 09:26 PM

ConfigurationOfSmallapack-nice.27

Oups! Fix version 1.6, we need Smallapack-Collection-nice.19 to have separate StdLib

January 11, 2019 08:50 PM

ConfigurationOfSmallapack-nice.27

Oups! Fix version 1.6, we need Smallapack-Collection-nice.19 to have separate StdLib

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 08:50 PM

ConfigurationOfSmallapack-nice.26

Use pharo6.x instead of paro6.0.x

January 11, 2019 08:44 PM

ConfigurationOfSmallapack-nice.26

Use pharo6.x instead of paro6.0.x

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 08:43 PM

Presentation2019-hjh.3

Updated setDefaultExtent
so that it takes PasteUpMorphL if loaded.

Added:
resetDefaultExtent

January 11, 2019 11:10 AM

Smallapack-StdLib.UFFI-nice.1

Provide a UFFI (Pharo6) compatible StdLibrary

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 10:09 AM

Smallapack-Collection-nice.19

Put StandardLibrary in a separate package for Pharo6 compatibility

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 09:18 AM

Smallapack-StdLib-nice.1

Separate the standard library from collection for compatibility with Pharo6 and upper.

This class is using FFI and using FFI isn't recommended in the long term (not standard in Pharo). Pharo6 recommend using UnifiedFFI instead.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 09:17 AM

Smallapack-Collection-nice.18

Provide a Pharo5.x compatible system startUp

Also only install when resuming.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 09:03 AM

ConfigurationOfSmallapack-nice.25

Version 1.6 with
- split of compatibility-protocol package
- first support of OpalCompiler in Pharo6

Still to come: support for Unified FFI

January 11, 2019 07:42 AM

ConfigurationOfSmallapack-nice.25

Version 1.6 with
- split of compatibility-protocol package
- first support of OpalCompiler in Pharo6

Still to come: support for Unified FFI

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 07:42 AM

Smallapack-OpalForLegacyFFI-nice.2

Also handle the cases when module: name has been provided in the legacy FFI pragma.

Now compile the legacy FFI pragma as primitive 120.
It's been a bit hard to guess that the IRPrimitive spec was here specially to provide the ExternalLibraryFunction literal in first position, but once we know it, it's super simple to implement legacy FFI.

TODO: we do not handle yet the case of 16+ arguments in a legacy FFI call.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 12:07 AM

Smallapack-OpalCompiler-nice.6

Clean-up to obtain a minimal POC:

- remove some empty protocols
- rename IR1ArrayForSeveralArguments instead of IR1ArrayForAllArgument because the class could serve in Eliot's suggested implementation (14 regular arguments + 1 array for excess arguments).
- conversely, rename its creation message to create1arrayForSeveralArgumentsNamed:withVars:
- don't force numArgs: to 1 in the (SL)IRByteCodeGenerator, but rather let the choice to the clients that could choose 14+excess.
- and let the comment remind that it is important to provide the EFFECTIVE number of arguments (unless one enjoys VM crash).
- similarly, let the client comment that they MUST provide the effective number of arguments, rather than leaving the dilemna to the reader.

Note that only the two IR* classes need to survive if the changes are integrated back into Pharo8.
All code in SL* methods should be moved to their respective super Opal implementation (as overrides of existing ones).

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 11, 2019 12:02 AM

January 10, 2019

squeaksource.com

Smallapack-OpalForLegacyFFI-nice.1

Provide a workaround for being able to load old source code including pragmas for legacy FFI.

For now, do not compîle those pragmas into primitive 120, as they would with legacy Compiler.
The primary purpose is to load code, not necessarily to have it functional.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 10, 2019 09:32 PM

Smallapack-OpalCompiler-nice.4

Have the temps well ordered (array argument must be first).

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 10, 2019 08:02 PM

Smallapack-OpalCompiler-nice.3

Don't reserve temp slots on the CompiledMethod stack for arrayed arguments.
This is useless and risk to exceed maximum frame size.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 10, 2019 04:02 PM

Smallapack-AlgorithmPrereq.Opal-nice.1

Variant with SLOpalCompiler

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 10, 2019 02:10 PM

source.squeak.org

Chronology-Core-eem.22

Simple speedup by caching the result of getSeconds in an inst var. Lots of other values are defined in terms of getSeconds so this simply eliminates duplicating the large integer arithmetic in getSeconds.

January 10, 2019 02:53 AM

January 09, 2019

source.squeak.org

WebClient-Core-ul.116

Handle quoted-string valued parameter for charsets in WebMessage >> textConverterForContentType. Also, don't raise an error when the specified encoding has no matching converter. This fixes a failing SqueakSSL test.

by Chris Muller (ma.chris.m@gmail.com) at January 09, 2019 10:34 PM

January 05, 2019

source.squeak.org

Cog-eem.351

Extend DominatorFinder to handle full blocks.
Fix its handling of conditional branch targets preceded by backward jumps (i.e. loops).
Beef up isEmptyIf to deal with expr ifTrue: [leaf].
Fix a slip in lastBlockOfOptimizedConditional

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2019 03:00 AM

VMMaker.oscog-eem.2507

Update DetailedInstructionPrinter as per Kernel-eem.1210 full block printing.
Nuke the obsolete pushClosureTempsBytecode.
Fix a slip in isValidClassIndex:

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2019 02:53 AM

SqueakSSL-Tests-eem.23

Fix a slip in tearDown

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2019 01:39 AM

Regex-Core-eem.54

Remove an unnecessary store into block argument

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2019 01:26 AM

BytecodeSets.spur-eem.79

Support printing full blocks in line. See Squeak trunk Kernel-eem.1210.

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2019 12:39 AM

Kernel-eem.1210

Have printInstructionsOn: (but not printInstructionsOn:do:, which is used by the explorer) print nested full blocks indented inline, for compatibility with the behavior for embedded blocks.

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2019 12:38 AM

Morphic-eem.1472

Fix a slip in selectSubmenuKey

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2019 12:04 AM

Compiler-eem.399

repeat loops are optimized loops, and so temps declatred within them need to be nilled omn each iteration. Hence isOptimizedLoop needs to identify them.

Fix speeling rorre and excess formatting in argumentsInEvaluationOrder

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2019 12:03 AM

January 04, 2019

squeaksource.com

VMConstruction-Plugins-OSProcessPlugin.oscog-nice.62

Suggestion to make GetCurrentDirectory and GetEnvironmentStrings return UTF8 encoded strings

Note: I'd like to use an OS constant defined in an OS header file (CP_UTF8), but I never know how to, except redefining my own macro function...

Note 2: every other string (including filename commands etc) passed to the plugin should better be UTF8-encoded, but I did not even started to inquire about it.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at January 04, 2019 06:26 PM

source.squeak.org

VMMaker.oscog-nice.2506

Fix two minor but annoying compiler warnings:

blockAlignment macro should not take a parameter
longRunningPrimitiveCheckSequenceNumber == 0 has no effect

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at January 04, 2019 04:20 PM

Chronology-Core-ul.21

From Chronology-Core-ul.21 from inbox, and resaved to ensure that version history exactly matches that of trunk. Updated by dtl and saved with original author initials.

Name: Chronology-Core-ul.21
Author: ul
Time: 26 December 2018, 1:48:40.220196 am
UUID: 2e6f6ce2-d0ec-41a0-b27c-88c642e5afc9
Ancestors: Chronology-Core-dtl.20

- fix: do not subtract the offset twice while evaluating DateAndTime >> #setJdn:seconds:nano:localOffsetSeconds:
- use 0 for seconds in DateAndTime >> #midnight, because the offset will not be subtracted from the passed value

by David T. Lewis (lewis@mail.msen.com) at January 04, 2019 02:15 PM

Chronology-Core-dtl.20

Bootstrap UTCDateAndTime, step 5 of 5

Update to latest level of Chronology-Core.
See http://www.squeaksource.com/UTCDateAndTime for the original development history, which is a series of update versions beginning with Chronology-Core-cmm.2 and ending with this version.

DateAndTime is now implemented wtih instance variables utcMicroseconds and localOffsetSeconds. This represents time magnitude as elapsed microseconds since the Posix epoch, with localOffsetSeconds representing local offset from UTC. The magnitude is used for comparison and duration calculations, and the local offset is used for displaying this magnitude in the context of a local time zone. The implementation ignores leap seconds, which are adjustments made to maintain earth rotational clock time in synchronization with elapsed seconds.

DateAndTime class>>now uses #primitiveUtcWithOffset to obtain current time in UTC microseconds with current local offset in seconds. The primitive provides an atomic query for UTC time and local offset as measured by the OS platform. If primitiveUtcWithOffset is not available, the traditional implementation is used, which relies on a primitive for microseconds in the local time zone and derives UTC based on the TimeZone setting.

by David T. Lewis (lewis@mail.msen.com) at January 04, 2019 02:11 PM

Chronology-Core-dtl.19

Resume using DateAndTime instead of LXDateAndTime.

Change instance creation to create DateAndTime instances instead of LXDateAndTime.
In the postScript, have LXDateAndTime instances become DateAndTime.

by David T. Lewis (lewis@mail.msen.com) at January 04, 2019 02:11 PM

Chronology-Core-dtl.18

Bootstrap UTCDateAndTime, step 3 of 5

DateAndTime and TimeStamp are now inactive, having been replaced by LXDateAndTime and LXTimeStamp. Load copies of the reimplemented LXDateAndTime and LXTimeStamp, renamed as DateAndTime and TimeStamp, to replace the original implementations of DateAndTime now.

At this point, DateAndTime is an inactive copy of LXDateAndTime. The next update will activate the new DateAndTime implementation.

by David T. Lewis (lewis@mail.msen.com) at January 04, 2019 02:10 PM

Chronology-Core-dtl.17

Bootstrap UTCDateAndTime, step 2 of 5

Start using LXDateAndTime instead of DateAndTime.
Change instance creation in DateAndTime to create LXDateAndTime instances instead.
In the postscript, have all DateAndTime instances become LXDateAndTime.

by David T. Lewis (lewis@mail.msen.com) at January 04, 2019 02:10 PM

Chronology-Core-dtl.16

Bootstrap UTCDateAndTime, step 1 of 5

Add LXDateAndTime and LXTimeStamp as alternative implementations of DateAndTime an TimeStamp.

DateAndTime uses instance variables 'seconds offset jdn nanos' and calculates its magnitude based on those varables in conjunction with the local TimeZone,

The LXDateAndTime variation uses instance variables 'utcMicroseconds localOffsetSeconds'. It represents time magnitude as elapsed microseconds since the Posix epoch, with localOffsetSeconds representing local offset from UTC. The magnitude is used for comparison and duration calculations, and the local offset is used for displaying this magnitude in the context of a local time zone.

The implementation ignores leap seconds, which are adjustments made to maintain earth rotational clock time in synchronization with elapsed seconds.

LXDateAndTime class>>now uses #primitiveUtcWithOffset to obtain current time in UTC microseconds with current local offset in seconds. The primitive provides an atomic query for UTC time and local offset as measured by the OS platform. If primitiveUtcWithOffset is not available, the traditional implementation is used, which relies on a primitive for microseconds in the local time zone and derives UTC based on the TimeZone setting.

Tests are provided to verify equivalence of the LXDateAndTime and DateAndTime hierarchies. LXDateAndTimeConversionTest tests conversion to and from LXDateAndTime. LXDateAndTimeTest, LXDateAndTimeEpochTest, and LXDateAndTimeLeapTest are variations on their corresponding DateAndTime tests. These tests are placed in the Kernel package because they are temporary tests that will be removed when LXDateAndTime replaces DateAndTime in a later update.

by David T. Lewis (lewis@mail.msen.com) at January 04, 2019 02:10 PM

Cog-eem.350

Add the doit to check that the relevant nodes are dominators and are found by DominatorFinder to the class side as a utility method.
Add some MesswgeNode support.

by Eliot Miranda (eliot.miranda@gmail.com) at January 04, 2019 12:30 AM

January 02, 2019

squeaksource.com

Zinc-HTTP-sg.2

empty log message

January 02, 2019 04:53 PM

December 27, 2018

squeaksource.com

PlotMorph-tpr.41

Attempt to make things not go castors-up if there is no in-band data; the cached min/max methods are a pain.

December 27, 2018 11:01 PM

December 26, 2018

squeaksource.com

PostgresV3-Pool-ul.5

- merged PG3ConnectionPoolArguments into PG3ConnectionPool. The methods appear in the parameters category and can be overridden by the subclasses.
- introduced PG3ConnectionPool >> #applicationName which returns the string (or nil) to initialize the application_name parameter upon connection creation.
- created a private method, #utcMicrosecondClock for primitive 240 to be used by the pool as the clock source. With this in place, cross-fork naming differences can be ignored.
- updated class comments

by Levente Uzonyi (leves@elte.hu) at December 26, 2018 09:52 PM

PostgresV3-Core-ul.22

- lint + tweaks + fixed a comment

by Levente Uzonyi (leves@elte.hu) at December 26, 2018 09:52 PM

December 25, 2018

squeaksource.com

PostgresV3-DBAPI-pn18.1

First commit of a client API for PostgresV3.

by Pierce Ng (pierce@samadhiweb.com) at December 25, 2018 02:01 AM

PostgresV3-Core-pn18.21

2nd attempt to commit my changes that support extended query protocol parameter binding.

by Pierce Ng (pierce@samadhiweb.com) at December 25, 2018 01:57 AM

December 20, 2018

squeaksource.com

BarnsleyFern-kfr.7

refactor

by Karl Ramberg 2 (karlramberg@gmail.com) at December 20, 2018 08:34 PM

BarnsleyFern-kfr.6

Mandelbrot

by Karl Ramberg 2 (karlramberg@gmail.com) at December 20, 2018 07:35 PM

PBE-LightsOut-Anonymous.1

PBE-LightsOut-viktdavi

by viktdavi (viktdavidavivikt@gmail.com) at December 20, 2018 07:03 AM

December 19, 2018

squeaksource.com

Chronology-Core-dtl.37

Various small optimizations to improve the speed of Date class>>fromDays:
which remains about 5% - 10% slower than the prior Chronology classic (JDN based) implementation as measured with "[(1 to: 400000) collect: [ : e | Date fromDays: e ] ] bench" on 64-bit Spur. Also rename a poorly named private method.

by Dave Lewis (lewis@mail.msen.com) at December 19, 2018 08:27 PM

WASM-edc.28

Added Experiments to render html on port 8080
WastCompilerToWasm>storeLocal corrected bug

by Edgar J. De Cleene (edgardec2001@yahoo.com.ar) at December 19, 2018 07:19 PM

December 17, 2018

squeaksource.com

WASM-edc.27

Global section in forensics and (local in compiler

December 17, 2018 10:59 AM

December 15, 2018

squeaksource.com

BarnsleyFern-kfr.5

Update drawing routine

by Karl Ramberg 2 (karlramberg@gmail.com) at December 15, 2018 07:18 PM

BarnsleyFern-kfr.4

Add LSystem

by Karl Ramberg 2 (karlramberg@gmail.com) at December 15, 2018 06:14 PM

BarnsleyFern-kfr.3

Add Sierpinski triangle

by Karl Ramberg 2 (karlramberg@gmail.com) at December 15, 2018 06:07 PM

BarnsleyFern-kfr.2

Implementation of Barnsley fern from wikipedia

by Karl Ramberg 2 (karlramberg@gmail.com) at December 15, 2018 12:30 PM

December 11, 2018

squeaksource.com

ArbitraryPrecisionFloat-nice.64

Fix comparison with Float

December 11, 2018 10:28 PM

December 09, 2018

squeaksource.com

Collections.V3-dtl.809

Name: Collections-topa.809
Author: topa
Time: 28 October 2018, 8:16:44.149252 pm
UUID: 65e8b64d-f325-47d8-8f83-ab4a9793ba9f
Ancestors: Collections-eem.808

Add #histogramOf: convenience + test

by Dave Lewis (lewis@mail.msen.com) at December 09, 2018 01:52 PM

Collections.V3-dtl.808

Name: Collections-eem.808
Author: eem
Time: 22 October 2018, 4:54:43.989805 pm
UUID: c6b15e95-b365-4ea0-8211-71ec7f55084b
Ancestors: Collections-ul.807

Faster ByteString/ByteArray hashing. The VM will accept either 1 or 2 args for the primitiveStringHash primitive so it can be used on the instance size, avoiding a little overhead.

by Dave Lewis (lewis@mail.msen.com) at December 09, 2018 01:52 PM

WASM-edc.26

Se agrego testQuick a OrderedCollection

Se clasifico testSection dentro de *WASM

testeando con hntrie.wasm haciendo en Terminal

cd /Users/edgardecleene/Documents/MagallanesSites/SqueakWASM/wabt

wasm2wat hntrie.wasm -o hntrie.wast

Seleccionando el ultimo en SWasmLivingBook e intentando compilar se ve que el tamaño del archivo difiere

Por esto se implemento testQuick para ver rapidamente en que seccion está el problema

December 09, 2018 10:38 AM

WASM-edc.25

empty log message

December 09, 2018 10:24 AM

Chronology-Core-dtl.35

Allow for nil offset in DateAndTime>>readDataFrom:size: as may be the case in 'browse origin' when seaching a 'browse revisions' version history. If offset is nil, set localOffsetSeconds to zero.

by Dave Lewis (lewis@mail.msen.com) at December 09, 2018 12:04 AM