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

March 24, 2019

squeaksource.com

Collections.V3-dtl.823

Name: Collections-ul.823
Author: ul
Time: 22 March 2019, 12:04:40.596433 pm
UUID: 2fef1e34-e45a-4f70-bb7b-56aa1c610df9
Ancestors: Collections-pre.822

Fixed bug in Heap >> #upHeap:. When the first element of a Heap was removed, the index of the first object was not always updated.

by Dave Lewis (lewis@mail.msen.com) at March 24, 2019 10:18 PM

SBE-Quinto-ms.1

empty log message

by Martin Stromberg (martinstromberg@yahoo.se) at March 24, 2019 08:52 PM

March 22, 2019

source.squeak.org

Graphics-ms.407

Adds a preview morph for results of all BitBlt rules.

When first using BitBlt, it wasn't easy to understand the effects of the possible rules on pixel combinating for me.
I implemented two example methods which preview the effects of rule 0 to 41 (these are all, I believe) on quadratic existing forms with colors and 1 bit alpha channel (previewAllBitBltRules uses ToolIcons flag/collection) plus Forms with more alpha values (previewAllBitBltRulesWithAlpha uses ToolIcons flag and a Color red + 0.4 alpha preview). They generate a combined morph for all rules applied on these forms (scaled, because icons are small) and opens it in your hand. Internally, this morph can be generated for any rule, forms and scale. Rules which throw exceptions are replaced with a fallback form.

by David T. Lewis (lewis@mail.msen.com) at March 22, 2019 01:19 PM

MorphicExtras-ms.254

Adds a preview morph for results of all BitBlt rules.

When first using BitBlt, it wasn't easy to understand the effects of the possible rules on pixel combinating for me.
I implemented two example methods which preview the effects of rule 0 to 41 (these are all, I believe) on quadratic existing forms with colors and 1 bit alpha channel (previewAllBitBltRules uses ToolIcons flag/collection) plus Forms with more alpha values (previewAllBitBltRulesWithAlpha uses ToolIcons flag and a Color red + 0.4 alpha preview). They generate a combined morph for all rules applied on these forms (scaled, because icons are small) and opens it in your hand.
Internally, this morph can be generated for any rule, forms and scale. Rules which throw exceptions are replaced with a fallback form.

Now in the correct package (see http://forum.world.st/The-Inbox-Graphics-ms-407-mcz-td5097206.html ).
Thank you for your feedback!

by David T. Lewis (lewis@mail.msen.com) at March 22, 2019 01:18 PM

CollectionsTests-ul.303

Added a test for the Heap bug fixed in Collections-ul.823.

by Levente Uzonyi (leves@caesar.elte.hu) at March 22, 2019 11:09 AM

Collections-ul.823

Fixed bug in Heap >> #upHeap:. When the first element of a Heap was removed, the index of the first object was not always updated.

by Levente Uzonyi (leves@caesar.elte.hu) at March 22, 2019 11:09 AM

March 21, 2019

squeaksource.com

Compiler.V3-dtl.403

Name: Compiler-eem.403
Author: eem
Time: 19 March 2019, 11:58:47.238202 am
UUID: a0f07dce-0a58-422e-af37-32d5a3bd6546
Ancestors: Compiler-eem.402

Fixed yhree typos in a comment, and improved the class comments for ParseNodeEnumerator & subclass.

by Dave Lewis (lewis@mail.msen.com) at March 21, 2019 11:49 PM

Compiler.V3-dtl.402

Name: Compiler-eem.402
Author: eem
Time: 19 March 2019, 11:44:20.570473 am
UUID: 886de89c-a3ed-4fb5-a8ed-7f9bf78d69b6
Ancestors: Compiler-eem.401, Compiler-ul.401

Merge with Compiler-ul.401, eliminate undeclatred variable in ParseNodeWithPrecedingStatementEnumerator.

Name: Compiler-eem.401
Author: eem
Time: 19 March 2019, 9:28:16.827407 am
UUID: 7920c007-0974-48a7-b1b3-b4de923b90d4
Ancestors: Compiler-eem.400

Fix a slip in EncoderForSistaV1 class>>isTempStoreAt:in:, and fix a couple of typos nearby.

by Dave Lewis (lewis@mail.msen.com) at March 21, 2019 11:48 PM

source.squeak.org

Morphic-sjce.1465

Trying to open the debugger halo on the resulting window results in a MNU
Text>>truncateWithElipsisTo: in HaloMorph>>doDebug:with:

Trying to grab the window results in a MNU Text>>truncateTo:
in Morph>>nameForUndoWording that needs a similar change

March 21, 2019 09:43 PM

WebClient-Help-hjh.12

Replace Smalltalk with SmalltalkImage current.

by David T. Lewis (lewis@mail.msen.com) at March 21, 2019 12:04 PM

Morphic-LB.1465

SystemWindow#replacePane:with: had an unexpected side effect changing the color of the pane put in place to transparent. This limited it's use as it is unwanted.

March 21, 2019 09:30 AM

squeaksource.com

Compiler.V3-dtl.401

Name: Compiler-ul.401
Author: ul
Time: 16 March 2019, 11:56:29.899053 pm
UUID: 395adc27-f48e-484c-9097-5197ea3a0155
Ancestors: Compiler-eem.400

- fixed typo

by Dave Lewis (lewis@mail.msen.com) at March 21, 2019 12:37 AM

Collections.V3-dtl.822

Name: Collections-pre.822
Author: pre
Time: 20 March 2019, 8:05:20.383677 pm
UUID: 483c4461-cee4-4a4f-82d3-fbc03e7201cc
Ancestors: Collections-dtl.821

Adds #isMutator to Symbol which is analogous to asMutator.

by Dave Lewis (lewis@mail.msen.com) at March 21, 2019 12:36 AM

March 20, 2019

source.squeak.org

Collections-pre.822

Adds #isMutator to Symbol which is analogous to asMutator.

by Patrick Rein (patrick.rein@gmail.com) at March 20, 2019 07:05 PM

CollectionsTests-pre.302

Adds a test for a new testing method: isMutator which is analoguos to asMutator. Recategorizes some tests while being at it.

by Patrick Rein (patrick.rein@gmail.com) at March 20, 2019 07:02 PM

VMMaker.oscog-eem.2532

Allow <inline: #always> to override requirement for inlined function to be functional. This allows Slang usersa who "know what they're doing" (an oxymoron if ever I saw one) to insist on inlining something non-functional.

by Eliot Miranda (eliot.miranda@gmail.com) at March 20, 2019 06:40 PM

VMMaker.oscog-eem.2531

Introduce a PrimErrOperationFailed error; primitive error code 24.

by Eliot Miranda (eliot.miranda@gmail.com) at March 20, 2019 06:17 PM

March 19, 2019

source.squeak.org

Compiler-eem.403

Fixed yhree typos in a comment, and improved the class comments for ParseNodeEnumerator & subclass.

by Eliot Miranda (eliot.miranda@gmail.com) at March 19, 2019 06:58 PM

Compiler-ul.401

- fixed typo

by Eliot Miranda (eliot.miranda@gmail.com) at March 19, 2019 06:45 PM

Compiler-eem.402

Merge with Compiler-ul.401, eliminate undeclatred variable in ParseNodeWithPrecedingStatementEnumerator.

by Eliot Miranda (eliot.miranda@gmail.com) at March 19, 2019 06:44 PM

Tests-eem.409

DecompilerTests:
Restrict the set of methods that are tested to thise in the base packages, excluding extensions from outside packages (this to eliminate errors due to _ assignment, etc).
Beef up checkDecompileMethod: to deal with both OutOfScopeNotification and SyntaxErrorNotification when the decompiler wrongly converts a while loop into a to:do: when the index is used out of scope. Somehow the bytecode set affects which of these errors may be seen.
Eliminate some cases that used to fail and no longer do (principally in ProtoObjectTest testIfNotNil et al).
With these changes I see DecompilerTests all green in both 32-bit trunk and a trunk-derived 64-bit VMMaker image using SistaV1.

by Eliot Miranda (eliot.miranda@gmail.com) at March 19, 2019 06:38 PM

Cog-eem.355

Deal with string arguments in cCode: => selector:_: editing.

by Eliot Miranda (eliot.miranda@gmail.com) at March 19, 2019 06:32 PM

Tests-eem.408

Fix a couple of failing Compiler tests. testPCPreviousTo must be made aware of extensions, for the SistaV1 bytecode set. testMaxLiteralsWithClassReferenceInClosure must adapt to the much greater number of literals available in the SistaV1 set.

by Eliot Miranda (eliot.miranda@gmail.com) at March 19, 2019 04:30 PM

Compiler-eem.401

Fix a slip in EncoderForSistaV1 class>>isTempStoreAt:in:, and fix a couple of typos nearby.

by Eliot Miranda (eliot.miranda@gmail.com) at March 19, 2019 04:28 PM

March 17, 2019

squeaksource.com

System.V3-dtl.1057

Name: System-eem.1057
Author: eem
Time: 16 March 2019, 12:25:59.281495 pm
UUID: af55a994-27d7-4ebe-84b6-d3f923523fc3
Ancestors: System-eem.1056

Decompose browseMethodsWithString:matchCase: to provide allMethodsWithString:matchCase:.

by Dave Lewis (lewis@mail.msen.com) at March 17, 2019 04:33 PM

System.V3-dtl.1056

Name: System-eem.1056
Author: eem
Time: 12 March 2019, 4:26:37.641499 pm
UUID: 5c24744b-c81e-460a-aca1-ce0099b23831
Ancestors: System-tpr.1055

Fix SystemNavigation>>allMethodsInCategory:

by Dave Lewis (lewis@mail.msen.com) at March 17, 2019 04:32 PM

Kernel.V3-dtl.1215

Name: Kernel-eem.1215
Author: eem
Time: 16 March 2019, 12:38:28.555296 pm
UUID: 9fa7a504-70d6-45ae-9514-d905578da5af
Ancestors: Kernel-eem.1214

Add CompiledMethod>>pragmasAt: for convenient access to multiple pragmas of the same pragma selector.

by Dave Lewis (lewis@mail.msen.com) at March 17, 2019 04:29 PM

KomServices-edc.23

I found portNumber could be still used

March 17, 2019 09:03 AM

March 16, 2019

source.squeak.org

Compiler-ul.401

- fixed typo

by Levente Uzonyi (leves@caesar.elte.hu) at March 16, 2019 11:08 PM

Cog-eem.354

Provide an edit script to map cCode: 'func(...)''s to the new _: style.

by Eliot Miranda (eliot.miranda@gmail.com) at March 16, 2019 08:44 PM

March 13, 2019

source.squeak.org

VMMaker.oscog-eem.2530

Oops. The previous commit broke the warning for defines/variables. Undo the regression on warnings while keeping the bug fix for dead code elimination.

by Eliot Miranda (eliot.miranda@gmail.com) at March 13, 2019 07:24 PM

VMMaker.oscog-eem.2528

Spur 64-bits: Fix https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/376; Bug in primitive 551 (SmallFloat64>> truncated). Fiox by also checking that the truncated value is in integer range.

by Eliot Miranda (eliot.miranda@gmail.com) at March 13, 2019 07:13 PM

VMMaker.oscog-eem.2529

Slang: Fix bug in dead-code elimination. In checking whether a name is defined at compile-time or not we have to deal with both TDefineNode and TVarableNode, and so must use nameOrValue, not just value. This affects finalizeReference: which was having variables used in a "cppIf: PharoVM ifTrue: ..." arm deleted since the code generator incorresctly assessed the arm as dead code.

by Eliot Miranda (eliot.miranda@gmail.com) at March 13, 2019 06:54 PM

KernelTests-fn.356

Add a test for https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/376.

by Fabio Niephaus (code@fniephaus.com) at March 13, 2019 02:01 AM

March 12, 2019

source.squeak.org

System-eem.1056

Fix SystemNavigation>>allMethodsInCategory:

by Eliot Miranda (eliot.miranda@gmail.com) at March 12, 2019 11:26 PM

squeaksource.com

TZ-Olson-dtl.16

Let #setLocalOffsetForTimeZone: work for older Chronology versions

by Dave Lewis (lewis@mail.msen.com) at March 12, 2019 10:58 AM

TZ-Olson-dtl.15

Move DateAndTime>>asPosixSeconds to TZ-Olson and use #perform: to allow it to compile in Pharo and older Squeak

by Dave Lewis (lewis@mail.msen.com) at March 12, 2019 10:31 AM

TimeZoneDatabase-Squeak-dtl.7

Move DateAndTime>>asPosixSeconds to TZ-Olson and use #perform: to allow it to compile in Pharo and older Squeak

by Dave Lewis (lewis@mail.msen.com) at March 12, 2019 10:31 AM

March 09, 2019

squeaksource.com

SBEQuintoAnat-AF.1

empty log message

by Anat (anat.fradin@gmail.com) at March 09, 2019 10:59 AM

source.squeak.org

HelpSystem-Core-kks.109

Added # prefix to method names in help topics so that we can browse them directly with a single keystroke

by Levente Uzonyi (leves@caesar.elte.hu) at March 09, 2019 10:39 AM

March 06, 2019

source.squeak.org

KernelTests-eem.355

Avoid using a deprecated message (includesSubString:) in a test.

by Eliot Miranda (eliot.miranda@gmail.com) at March 06, 2019 11:16 PM

VMMaker.oscog-eem.2527

Ho hum. That default intialization for plgin source generation requires a little more effort.

by Eliot Miranda (eliot.miranda@gmail.com) at March 06, 2019 07:22 PM

VMMaker.oscog-eem.2526

Force default initialization of VM options before generating VM plugins.

by Eliot Miranda (eliot.miranda@gmail.com) at March 06, 2019 06:42 PM

VMMaker.oscog-eem.2525

Eliminate an undeclared variable.

by Eliot Miranda (eliot.miranda@gmail.com) at March 06, 2019 05:59 PM

March 05, 2019

source.squeak.org

FFI-Win32-cbc.15

Add utility to get current user (who owns Squeak thread)

by Chris Cunningham (cunningham.cb@gmail.com) at March 05, 2019 04:40 PM

FFI-Win32-cbc.14

Everything synced up.

by Chris Cunningham (cunningham.cb@gmail.com) at March 05, 2019 04:40 PM

FFI-Win32-cbc.12

Added ability to silently run a program in the background (no window)

by Chris Cunningham (cunningham.cb@gmail.com) at March 05, 2019 04:39 PM

FFI-Win32-cbc.13

Add descriptive errors for return codes from Wind32Shell.

by Chris Cunningham (cunningham.cb@gmail.com) at March 05, 2019 04:39 PM

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.

by Chris Cunningham (cunningham.cb@gmail.com) at March 05, 2019 04:37 PM

FFI-Win32-cbc.16

Merging.
Win32 HANDLE correct, decent errors, additional utility functions.

by Chris Cunningham (cunningham.cb@gmail.com) at March 05, 2019 04:35 PM

March 04, 2019

squeaksource.com

Morph To Method-cbc.10

Don't populate owner instance in base morph - often World, sometimes other things that cause problems. Safe to ignore.

March 04, 2019 10:33 PM

March 03, 2019

source.squeak.org

Monticello-kfr.617

Sometimes stepChilden is nil.

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:40 PM

Kernel.spur-kfr.925

Cancelling saving a project need something like this to not get stuck with countless pre debug windows

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:39 PM

MorphicExtras-kfr.253

Refresh fix for MorphicExtras-kfr.252

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:37 PM

MorphicExtras-kfr.252

Make extent of SketchEditorMorph change to the extent set by halo handle
Must refresh painting from tool palette to be able to paint again

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:37 PM

MorphicExtras-kfr.232

Changed category for KeyboardMorphForInput and PianoRollNoteMorph

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:34 PM

PreferenceBrowser-kfr.60

Hook up SystemWindow backgroundColor to PreferenceBrowser

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:33 PM

ToolBuilder-Morphic-kfr.156

Use SystemWindow backgroundColor instead of Color white

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:33 PM

MorphicExtras-kfr.148

Add convenience method for graphics in Standard Graphics Library: encode graphics to a Workspace so graphics can be added in methods.

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:09 PM

MorphicExtras-kfr.231

PianoRollNoteMorph and ScorePlayerMorph added from Morphic

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:08 PM

Morphic-kfr.721

Make hilight color in list panes more consistent

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:08 PM

Morphic-kfr.724

Add convenience menu options for SketchMorph: encode graphics to a Workspace so graphics can be added in methods and a option to add graphics to Standard Graphics Library

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:08 PM

Morphic-kfr.1064

Add preference backgroundColor to SystemWindows. Add preference to a a few places that where hardcoded to color white.

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:07 PM

Morphic-kfr.1422

Reverting some changes to BorderStyles so #inset and #raised works again. Uses lazy initializion for baseColor

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:07 PM

Morphic-kfr.1455

Add MessageNames to TheWorldDockingBar Tools menu
Add Collapse all windows to TheWorldDockingBar Windows menu

by Karl Ramberg (karlramberg@gmail.com) at March 03, 2019 12:07 PM

March 01, 2019

source.squeak.org

Morphic-ul.1481

- cleaned up preamble and postscript

by Levente Uzonyi (leves@caesar.elte.hu) at March 01, 2019 12:35 PM

February 28, 2019

source.squeak.org

VMMaker.oscog-eem.2523

Fix a typo in a comment.

Clément, ignore my ravings in the previous commit comment.

by Eliot Miranda (eliot.miranda@gmail.com) at February 28, 2019 08:46 PM

VMMaker.oscog-eem.2522

Spur:
Fix image segment storage when there is insufficient contguous space to store teh array of objects to be included in a segment. I wrote the code to answer a suitable error object (a SmallInteger of the required size), but forgot to handle tyhe return, hence causing horrible crashes as the VM attempted to access objects in a SmallInteger. this was Max Leske's failing segment storage test case (a 66.5Mb segment).

Handle the case by introducing a new error code (PrimErrNeedCompact) and having the primitive perform a full GC when it gets the error code, and then to retry segment storage.

Have printFreeTree/printFreeChunk:printAsTreeNode: mark the root node with a '+'.

Fix some slips in free chunk integrity checking.

Clément, I think "lazy" in the comment in SpurMemoryManager>>fullGC should be "eager", right? I'll leave it to you to fix. Also IO don't understand the SpurMemoryManager send in "self SpurMemoryManager globalGarbageCollect.". What's going on here?

by Eliot Miranda (eliot.miranda@gmail.com) at February 28, 2019 08:29 PM

Morphic-kfr.1480

Force update of TheWorldMainDockingBar

by Karl Ramberg (karlramberg@gmail.com) at February 28, 2019 03:46 PM

Morphic-kfr.1479

Preamble to update current instances of TheWorldMainDockingBar

by Karl Ramberg (karlramberg@gmail.com) at February 28, 2019 03:15 PM

Morphic-kfr.1478

A few changes to Project menu in TheWorldMainDocingBar

No need for a submenu for only 2 sub entries, so I simplyfied to have the the main menu include all project types.

Change so new projects are not automatically entered upon creation, because that is unexpected behavior.

by Karl Ramberg (karlramberg@gmail.com) at February 28, 2019 03:09 PM

MorphicExtras-kfr.254

Update extent form halo handle. Only grow allow extent to grow.

Unlimited undo of SketchMorphEditor. Just add current form to a collection.
Redo with holding shift down while undo.
This is a memory hog of a change. Must be reviewed

February 28, 2019 02:27 PM

February 27, 2019

squeaksource.com

Raven-rww.26

YELLOW 2 test failures. Try to fix 2 failing ThreeWayGranovetter tests.

by Robert Withers (robert.withers@protonmail.com) at February 27, 2019 01:06 AM

Raven-rww.26

YELLOW 2 test failures. Try to fix 2 failing ThreeWayGranovetter tests.

by Alan Pinch (alan.c.pinch@gmail.com) at February 27, 2019 01:05 AM

ParrotTalk-rww.27

add SendFramesBuffer>>flushFramesToSession: session and call it last in the SecurityOps>>installSession:stack:incoming:. Remove SendFramesBuffer>>bufferList.

by Alan Pinch (alan.c.pinch@gmail.com) at February 27, 2019 01:03 AM

ParrotTalk-rww.27

add SendFramesBuffer>>flushFramesToSession: session and call it last in the SecurityOps>>installSession:stack:incoming:. Remove SendFramesBuffer>>bufferList.

by Robert Withers (robert.withers@protonmail.com) at February 27, 2019 01:03 AM

February 26, 2019

squeaksource.com

Eagle-rww.1

flesh out some subclasses of SubjectiveSelf

by Alan Pinch (alan.c.pinch@gmail.com) at February 26, 2019 09:19 PM

ParrotTalk-rww.26

removed unused method temp variable: <encoder> in SecurityOps>>installOnSession: session stack: stack incoming:

by Alan Pinch (alan.c.pinch@gmail.com) at February 26, 2019 09:18 PM

ParrotTalk-rww.26

removed unused method temp variable: <encoder> in SecurityOps>>installOnSession: session stack: stack incoming:

by Robert Withers (robert.withers@protonmail.com) at February 26, 2019 09:18 PM

Ston-Tests-rww.35

fixed STONWriterTests>>testDictionaryWithComplexKeys

by Alan Pinch (alan.c.pinch@gmail.com) at February 26, 2019 09:15 PM

February 23, 2019

source.squeak.org

Kernel-eem.1214

Use the Spur inst avr access primitives in FutureMaker and the mirror primitives. Fix a couple of typos.

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

February 21, 2019

source.squeak.org

VMMaker.oscog-eem.2521

Spur:
Fix segment loading so that an imported class (in outPointers) that has yet to be instantiated does not abort the load. This should fix Terf room entry.

Simulator:
Correctly simulate primitiveUnloadModule

by Eliot Miranda (eliot.miranda@gmail.com) at February 21, 2019 05:43 PM

February 20, 2019

source.squeak.org

MorphicExtras-kfr.253

Refresh fix for MorphicExtras-kfr.252

February 20, 2019 07:03 PM

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

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 23, 2019

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 21, 2019

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 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