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

November 30, 2019

squeaksource.com

Kernel.V3-dtl.1284

Name: Kernel-mt.1284
Author: mt
Time: 29 November 2019, 11:37:15.422061 am
UUID: 8058d02f-d2cd-b942-aa93-095fa963a523
Ancestors: Kernel-mt.1283

Adds a message to set new contents and notify all dependents. To be used by subclasses to remove extra #changed: calles and to provide a better hook to do something else when updating the contents.

by Dave Lewis (lewis@mail.msen.com) at November 30, 2019 03:08 AM

source.squeak.org

Morphic-eem.1596

Have seNders in the text editor also look up references to literals.

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

November 29, 2019

squeaksource.com

OTAR-jrm.4

progress on devlopment but still having problems running tests on imac. saving current development so I can try it on an R-Oi

by John-Reed Maffeo (jrmaffeo@gmail.com) at November 29, 2019 11:58 PM

source.squeak.org

Tools-eem.915

Save and restore the texts in the receiver and context inspectors when changing selection. Key the receiver text by the class of receiver. Key the context text by the method. Hence, much like the current Pharo debugger, text state stays around and can be extended as one investigates several methods in the stack.

Needs Morphic.eem.1591 (we hope cuz it ain't been committed yet).

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 29, 2019 10:46 AM

Morphic-eem.1591

Support for Tools-eem.915

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 29, 2019 10:46 AM

Tools-mt.922

Due to recurrent requests, add an #ifNil-check for the class argument in the label-formatting methods of all code holders. Still, also document the situation in a flag comment. At least, this makes this method more robust for the upcoming release. :-)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 29, 2019 10:45 AM

60Deprecated-mt.66

Complements Tools-mt.920/921.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 29, 2019 10:43 AM

Tools-mt.921

Debugger: Implements the idea of inbox Tools-eem.915, which preserves inspectors' states when toggling the selected context.

Because it is model-only, should work also in MVC debuggers. There might be a quick with #update:with: in PluggableTextView, though.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 29, 2019 10:42 AM

Tools-mt.920

In inspector classes, make use of #setContents: (Kernel-mt.1284). Add a way to get/set the user-typed contents in the value pane, which is not the expression pane.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 29, 2019 10:40 AM

Kernel-mt.1284

Adds a message to set new contents and notify all dependents. To be used by subclasses to remove extra #changed: calles and to provide a better hook to do something else when updating the contents.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 29, 2019 10:37 AM

November 28, 2019

source.squeak.org

VMMaker.oscog-eem.2598

Fix plugin generation given renamed plugins

by Eliot Miranda (eliot.miranda@gmail.com) at November 28, 2019 10:59 PM

VMMaker.oscog-eem.2597

Spur:
Avoid inlining endCompaction to prevent duplication in compact.

by Eliot Miranda (eliot.miranda@gmail.com) at November 28, 2019 10:50 PM

VMMaker.oscog-eem.2596

Spur:
Make a minor refactoring to reinitializeScanFrom: to make it more readable (move assignment to firstMobileObject into scanForFirstFreeAndFirstMobileObjectFrom:).

Improve the ImageLeakChecker to bounds check objects while swizzling, and hence detect the damaged images produced by the issue 444 planning compactor bug as corrupted.

Refactor swizzleObj: to swizzleObj:in: so that ImageLeakChecker/SpurLeakCheckingSegmentManager can produce more informative diagnostics.

Improve the leak checker to first bounds check oops against the heap extent before probing the heap map. This prevents ImageLeakChecker from crashing on issue 444 corrupted images.

by Eliot Miranda (eliot.miranda@gmail.com) at November 28, 2019 10:34 PM

VMMaker.oscog-cb.2595

Fixed a fascinating bug in Planning compactor.

Sometimes Planning decides to go for a multi-pass compaction, but in one compaction it compacts it all, so that firstFreeObject is the last object on heap, on the object after firstFreeObject is outside of the heap. Planning gets confused in this case, while everything is compacted. So I changed to abort compaction in that case, since everything is already compacted.

by ClementBera (bera.clement@gmail.com) at November 28, 2019 07:54 PM

FileAttributesPlugin.oscog-akg.51

Add FileAttributesPlugin>>primPathMax back in.

FileAttributesPlugin>>initialize uses it to store the PATH_MAX and FA_PATH_MAX, and interpreterProxy hasn't been set at that stage, so #primitivePathMax can't be used.

by Eliot Miranda (eliot.miranda@gmail.com) at November 28, 2019 08:37 AM

November 27, 2019

squeaksource.com

System.V3-dtl.1125

Name: System-tpr.1125
Author: tpr
Time: 26 November 2019, 12:41:51.836859 pm
UUID: dd0aed77-eb3e-4d57-b1c9-3f6fbb5d9674
Ancestors: System-mt.1124

Improve MessageBrowser labelling a bit; see changes in Tools-tpr.919

by Dave Lewis (lewis@mail.msen.com) at November 27, 2019 01:42 PM

Kernel.V3-dtl.1283

Name: Kernel-mt.1283
Author: mt
Time: 27 November 2019, 10:25:51.203363 am
UUID: 04694a24-76a1-a941-b664-645ffc7f27e6
Ancestors: Kernel-nice.1282

Removes Kernel -> Regex dependency.

by Dave Lewis (lewis@mail.msen.com) at November 27, 2019 01:39 PM

Collections.V3-dtl.864

Name: Collections-mt.864
Author: mt
Time: 27 November 2019, 10:46:36.719363 am
UUID: 5e0200f3-d834-4849-93ad-393e5b2b1af2
Ancestors: Collections-mt.863, Collections-kfr.812

Merges Collections-kfr.812 but renames #printMatrix to the existing #stringForReadout. We might want to use that one for ObjectExplorer ... See Object >> #asExplorerString.

by Dave Lewis (lewis@mail.msen.com) at November 27, 2019 01:38 PM

source.squeak.org

Collections-kfr.812

Print the matrix so one can see the rows and columns

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 27, 2019 09:47 AM

Collections-mt.864

Merges Collections-kfr.812 but renames #printMatrix to the existing #stringForReadout. We might want to use that one for ObjectExplorer ... See Object >> #asExplorerString.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 27, 2019 09:46 AM

Kernel-mt.1283

Removes Kernel -> Regex dependency.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 27, 2019 09:25 AM

MorphicExtrasTests-mt.6

Tests for simple setter/getter moved to and extended in StringSystemSupportTest in the package Tests-System-Support.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 27, 2019 09:24 AM

November 24, 2019

source.squeak.org

VMMaker.oscog-tpr.2591

Fill in some simple bits, extend comments to refer to ARM doc etc.
Add condition codes to class vars; maybe better in the opcodes pool?

by tim Rowledge (tim@rowledge.org) at November 24, 2019 07:44 PM

CogPools-ISAs-tpr.2

fix trivial spilling mistook because CDO. Which is OCD but with the the letters in the CORRECT DAMN ORDER

by tim Rowledge (tim@rowledge.org) at November 24, 2019 07:42 PM

VMMaker.oscog-eem.2590

Add the compiler for the ARMv8 A64 backend.

Correct a typo. Add Integer>>binary as a convenience.

by Eliot Miranda (eliot.miranda@gmail.com) at November 24, 2019 03:49 PM

Cog-eem.371

Start using the ARMv8A64Opcodes pools in GdbARMv8Alien.

by Eliot Miranda (eliot.miranda@gmail.com) at November 24, 2019 03:47 PM

CogPools-ISAs-eem.1

Add a package to contain pools defining instruction set architecture related constants. Add ARMv8A64Opcodes to define specific ARMv8 A64 opcodes.

by Eliot Miranda (eliot.miranda@gmail.com) at November 24, 2019 03:43 PM

ST80-jr.245

Make class list in "explain" output easier to consume.

"... in these classes: an OrderedCollection(...)" is not really human-friendly.

Now it prints Squeak array syntax {A . B . C}, which is still technical, but handy to copy&paste to methods or workspaces if needed.

November 24, 2019 03:13 PM

Morphic-jr.1593

Make class list in "explain" output easier to consume.

"... in these classes: an OrderedCollection(...)" is not really human-friendly.

Now it prints Squeak array syntax {A . B . C}, which is still technical, but handy to copy&paste to methods or workspaces if needed.

November 24, 2019 03:10 PM

November 23, 2019

squeaksource.com

SBE-Quinto-RM.5 First time

Here is my log message

by Ron Mitchell (ron@ronmitchell.co.uk) at November 23, 2019 11:03 PM

Nebraska-mt.42

*** Widget Refactorings and UI Themes (Part 2 of 11) ***

Simplify window colors and prepare them and other properties of system windows to be themed.

by Graham (gkgoat6700@gmail.com) at November 23, 2019 09:36 PM

source.squeak.org

Cog-eem.370

Finish GdbARMv8AlienTests nfib tests by writing enough trap handling to handle the RET instruction.

by Eliot Miranda (eliot.miranda@gmail.com) at November 23, 2019 07:42 PM

November 22, 2019

source.squeak.org

VMMaker.oscog-eem.2589

Slang for plugins.

Fix resultSendAlwaysFails: to include the two new failure sends, primitiveFailForFFIException:at: primitiveFailForOSError:.

As a micro optimization, if the enclosing method has type #sqInt then return the falures directly, as they're all typed as sqInt. That should save an instruction :-)

by Eliot Miranda (eliot.miranda@gmail.com) at November 22, 2019 09:21 PM

Cog-eem.369

Speed up marshalling for the ProcessorSimulatorPlugins by using SmallInteger for the memory range arguments instead of Unsigned. Using the latest Slang changes this inlines a lot of code and reduces function calls to decode the range arguments. Given that the memory range arguments are always within the range of the memory byte array, SmallIntegers provide more than enough range.

More substantively use primitiveFailForOSError: to answer the failure error code, if any, on simulating.

by Eliot Miranda (eliot.miranda@gmail.com) at November 22, 2019 09:03 PM

VMMaker.oscog-eem.2588

Slang for plugins:

Generaet more efficient code for dereferencing SmallInteger type parameters in SmartSyntaxPlugins.
Avoid a stack variable access by assigning to the target variable in the validation expression, and referring to the variable in the conversion expression, e.g. instead of

sqInt v;

if (!(isIntegerObject(stackValue(0))))
return primitiveFailFor(PrimErrBadArgument);
v = stackIntegerValue(0);

generate

sqInt v;

if (!(isIntegerObject(v = stackValue(0))))
return primitiveFailFor(PrimErrBadArgument);
v = integerValueOf(v);

Allow the Cog ProcessorSimulationPlugins to use the inlined macro definitions for isIntegerObject:, integerObjectOf: & integerValueOf: even though they're external plugins (since in single steppng, marshalling performance is at a premium).

by Eliot Miranda (eliot.miranda@gmail.com) at November 22, 2019 08:55 PM

Kernel-nice.1282

Let complex print the correct signBit of its imaginary part in case of negativeZero.

Note: the signBit are not preserved upon reinterpretation.
That's a problem of representation via arithmetic operation 1 + 2 i
because we have this
0.0 - 0.0 -> 0.0
0.0 + (-0.0) -> 0.0
(-0.0) + (-0.0) -> -0.0
(-0.0) - 0.0 -> -0.0

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at November 22, 2019 04:54 PM

60Deprecated-mt.65

Complements Morphic-mt.1592

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 22, 2019 04:40 PM

EToys-mt.371

Complements Morphic-mt.1592.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 22, 2019 04:39 PM

Morphic-mt.1592

Move rotation-specific stuff from Etoys to Morphic. It is used in Morphic anyway.

#heading, #heading:
#rotationDegrees, #rotationDegrees:
#referencePosition, #referencePosition:
#forwardDirection, #forwardDirection:

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 22, 2019 04:39 PM

Morphic-ct.1526

Move #rotationDegrees: into Morphic-Kernel (step 2/2). Complements EToys-ct.361

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 22, 2019 03:46 PM

EToys-ct.361

Move #rotationDegrees: into Morphic-Kernel (step 1/2)

This a common feature sent and implemented by many plain-Morphic classes.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 22, 2019 03:45 PM

EToys-fn.320

Move to "logical operations".

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 22, 2019 02:53 PM

Kernel-ct.1270

Add some printing functions for Complex

Not yet an equal concept to that one in Number, but still better than nothing :)

Try this: Float pi i exp stringForReadout

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 22, 2019 02:40 PM

Kernel-ct.1278

Fix a bug in #valueSupplyingAnswers:. If the pattern is not a regex, a RegexSyntaxError may be raised.

"Now works:"
[self inform: 'Hello world']
valueSupplyingAnswers: #(('*foo*' nil))

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 22, 2019 02:40 PM

squeaksource.com

Chip8-TSL.4

sound enabled

by Thiago da Silva Lino (thiagolino@yahoo.com.br) at November 22, 2019 09:10 AM

System.V3-dtl.1123

Name: System-mt.1124
Author: mt
Time: 20 November 2019, 2:44:27.477662 pm
UUID: 9b067d06-cee0-1d46-b3f8-cf5267da8c9c
Ancestors: System-mt.1123

Fixes a recent regression *and* code duplication. New MVC/Morphic projects can be created and opened again.

by Dave Lewis (lewis@mail.msen.com) at November 22, 2019 01:29 AM

System.V3-dtl.1122

Name: System-mt.1123
Author: mt
Time: 19 November 2019, 12:05:29.547265 pm
UUID: 084b44a2-c237-c445-b14c-c84158296a4c
Ancestors: System-mt.1121, System-ct.1094, System-ct.1095, System-ct.1096, System-ct.1104, System-ct.1105, System-ct.1106, System-ct.1112

Merge, merge, merge. Fixes in Project, minor category clean-up in SmalltalkImage, better class comment in MethodReference, new utility method in ChangeSet.

by Dave Lewis (lewis@mail.msen.com) at November 22, 2019 01:27 AM

Compiler.V3-dtl.413

Name: Compiler-mt.413
Author: mt
Time: 21 November 2019, 4:23:15.551156 pm
UUID: db181638-e223-5648-8bea-f5084f9c44ad
Ancestors: Compiler-mt.412, Compiler-ct.407

Merges Compiler-ct.407. We can now programmatically handle syntax errors:

[Compiler evaluate: '3+?']
on: SyntaxErrorNotification
do: [:ex | ex resume: '3+4'].

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

Collections.V3-dtl.863

Name: Collections-mt.863
Author: mt
Time: 19 November 2019, 11:21:39.854265 am
UUID: 217307c8-b585-da43-9494-9a0db5e31144
Ancestors: Collections-mt.862, Collections-ct.861

Merges Collections-ct.861.

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

Collections.V3-dtl.862

Name: Collections-mt.862
Author: mt
Time: 19 November 2019, 11:10:22.542265 am
UUID: 892a021e-ac24-bd4f-84ba-12edb793c7a0
Ancestors: Collections-mt.861, Collections-ct.856

Merges Collections-ct.856. Harmonize all #detect: variations including their comments. Complements CollectionsTests-mt.327.

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

November 21, 2019

squeaksource.com

MorphicAddendum-NM.6

Added method fo to get the list of all Morphs contained in the given morph.
See code for more precise statement.

by Nicola Mingotti (nmingotti@gmail.com) at November 21, 2019 11:44 PM

November 17, 2019

source.squeak.org

VMMaker.oscog-eem.2586

Eliminate info duplicaton in new interpreter version name.

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

Network-nice.237

Use substrings and lines idiom instead of findTokens:

Note: findTokens: feeded with a CharacterSet (CharacterSet separators or CharacterSet crlf) would be equally efficient as above specialized selectors, just a bit longer to write.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at November 17, 2019 03:42 PM

EToys-nice.369

Replace (findTokens: Character separators) with substrings which is both a shorter and faster idiom.

| tmp |
tmp := String allSubInstances.
{
[tmp do: [:e | e substrings]] bench.
[tmp do: [:e | e findTokens: Character separators]] bench.
[tmp do: [:e | e findTokens: CharacterSet separators]] bench.
}.
#(
'1.17 per second. 852 milliseconds per run. 16.22996 % GC time.'
'0.285 per second. 3.51 seconds per run. 5.30746 % GC time.'
'1.18 per second. 849 milliseconds per run. 20.13357 % GC time.')

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at November 17, 2019 02:49 PM

CollectionsTests-nice.323

Test a few CharacterSet union:/intersection: edge cases

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at November 17, 2019 11:47 AM

Collections-nice.858

Fix union: and intersection: of CharacterSet

We must avoid using naive loops for huge sets that canBeEnumerated not.

An enumerationCost scale is introduced for that purpose.

The idea is that intersection: must be performed by the cheapest set, while union: must be performed by the most expensive. The most expensive eventually knows how to handle loops lazily.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at November 17, 2019 11:46 AM

November 16, 2019

squeaksource.com

ImageSnapshot-dtl.6

Let ImageSnapshot>>reboot set up the display window in prior to resuming the VM in the new snapshot image. The fullscreen flag is handled properly, but window size does not currently work on X11 because ioSetDisplayMode is not implemented in the X11 driver (window resize requests currently can originate only from the external X11 server).

by Dave Lewis (lewis@mail.msen.com) at November 16, 2019 02:46 PM

WASM-edc.42

more WasmForensics refactoring

November 16, 2019 06:14 AM

source.squeak.org

VMMaker.oscog-eem.2585

Oops.

by Eliot Miranda (eliot.miranda@gmail.com) at November 16, 2019 05:52 AM

squeaksource.com

System.V3-dtl.1119

Name: System-mt.1119
Author: mt
Time: 15 November 2019, 2:31:30.94533 pm
UUID: bd66f2d9-be6a-9744-840d-9654e2d5565d
Ancestors: System-dtl.1118, System-ct.1097

Merges System-ct.1097, which adds means to open tools for class (or system categories), method versions, and packages.

by Dave Lewis (lewis@mail.msen.com) at November 16, 2019 01:17 AM

source.squeak.org

VMMaker.oscog-eem.2584

And, goddamnit, have a Newspeak VM reveal the same.

by Eliot Miranda (eliot.miranda@gmail.com) at November 16, 2019 12:59 AM

VMMaker.oscog-eem.2583

ImageChecker: ImageChecker must not specify excluding unmarked objects, since objects are unmarked on load. Have its main routine respond to a -version argument.

Slang: Call an Open Smalltalk VM an Open Smalltalk VM.

by Eliot Miranda (eliot.miranda@gmail.com) at November 16, 2019 12:58 AM

squeaksource.com

System.V3-dtl.1118

Name: System-dtl.1118
Author: dtl
Time: 14 November 2019, 11:44:09.783497 am
UUID: e1e88bc2-8860-4665-9ac4-af0e01dc258c
Ancestors: System-mt.1117

When reporting VM parameters, enable formatting in the case of a parameter value that is represented as a Float rather than an Integer. This may happen if a VM parameter is defined in units of milliseconds but internally measured to microsecond precision by the VM, in which case the value may be returned as a Float in order to retain full precision. SmalltalkImage>>formatVMParameter: handles the formatting for integer and non-integer values.

Includes recommendations from Marcel and Chris, original System-dtl.1118 submission is moved to treated inbox.

by Dave Lewis (lewis@mail.msen.com) at November 16, 2019 12:56 AM

November 15, 2019

source.squeak.org

VMMaker.oscog-eem.2582

Slang: avoid generating gcc3x-validImage.c. Including sqGnu.h only benefits something that has an interpret method.

by Eliot Miranda (eliot.miranda@gmail.com) at November 15, 2019 11:45 PM

VMMaker.oscog-eem.2581

Add an ImageLeakChecker that is only able to load an image (currently only Spur formats have been generated and tested). Do this with horrible Slang hackery to discard lots of stuff. Generate validImage.c in a stack vm directory. (N.B. this hasn't been run in the simulator yet; it'll take a little bit of work to get this to work, but in teh simulator it's easy to use the inbuilt facilities in a VM via setCheckForLeaks:)

As part of this effort clean up several methods scattered around the system so that they either are marked with <api> when they're exported, or they are always inlined, or use symbols for returnTypeC:, or have the correct return type, or no longer the sole method in a category.

Slang:
Get VMMaker to respect doInlining if imolemented by an interpreter. It used to only pay attention to a Cogit.

Enlarge and rationalize the kinds of "quick" mthods that will be inlined when doInlinign answers asSpecifiedAndQuick. Include any and all that just answer self or a constant (i.e. include those that take arguments). Include any and all that perform only a signle assignment, either answering the value or answering self.

Fix inlining of literal blocks vs inlining of two element statement lists created by the inliner. Do so by introducing a subclass of TStmtListNode called TLiteralBlockNode which has one method, isLiteralBlock and is used by BlockNode>>asTranslatorNodeIn:. Use asRootTranslatorNodeIn: to create top-level method statement lists. Better comment collectInlineList:.

Allow comma on strings to translate into ANSI C automatic literal string concatenation.

Next step is to update the stack makefiles to build validImage executables.

by Eliot Miranda (eliot.miranda@gmail.com) at November 15, 2019 11:37 PM

Cog-eem.358

Fix a slip in x86-64 disassembly decoration. Misplaced closing bracket.

by Eliot Miranda (eliot.miranda@gmail.com) at November 15, 2019 11:08 PM

Monticello-ct.706

Refresh Version Inspector after reparent was pressed.

by David T. Lewis (lewis@mail.msen.com) at November 15, 2019 08:18 PM

Morphic-ct.1590

Add "debug accept action" into debug menu of PluggableTextMorph. Furthermore, refactor all "debug action" code in this package by using ToolSet>>#debugBlock:runUntilMethod:withTitle:.

Complements System-ct.1121.

November 15, 2019 06:55 PM

System-ct.1121

Add convenience method for debugging a block at a method.

November 15, 2019 06:47 PM

Help-Squeak-Project-ct.73

Update SqueakProjectHelp squeakResourcesOnline

* Remove links that are offline (the merger might check whether they are really permanently offline)
* Reformat the page to a modern look

Depends on Collections-ct.861.

November 15, 2019 06:34 PM

Help-Squeak-Project-ct.72

Migrates VersionsBrowser>>versionsHelpString into a HelpTopic class

Depends on Collections-ct.861.

November 15, 2019 06:19 PM

Collections-ct.861

Adds fileIn/Out support for TextIndent.

November 15, 2019 06:18 PM

Tools-ct.916

VersionsBrowser>>#selectMethod:: Compare not only timeStamp, but also source, as timeStamp is only minute-precise.

November 15, 2019 06:00 PM

Tools-ct.915

Refactor ProcessBrowser nil checks again and move them into #stackListKey:from:. Also, use #browseMethod: in #browseContext to ensure the right version is browsed

Thanks to Marcel for the review!

November 15, 2019 04:30 PM

ToolBuilder-Tests-mt.5

Fixes tree-widget tests. They got broken due to the latest updates in tree widgets, which now automatically select the selection path in the beginning without the model having to say so. That's comparable to fetching the initial list/roots etc.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 15, 2019 03:34 PM

November 14, 2019

squeaksource.com

Kernel.V3-dtl.1278

This update may be slow due to the package postscript processing.

Apply Kernel-mt.1278, which mergesKernel-mt.1266.

From Kernel-nice.1270, apply the BoxedFloat64>>truncated change to Float for V3.

Also update Behavior>>becomeCompact to ensure that a newly added compact class does not occupy a previously used slot in the compact classes table. This is a requirement for segment loading, as documented in the becomeCompact method comment.

Reference Levente's suggestion that ByteArray adoptInstance: 'aSting' could work in a V3 image if class ByteArray is added to the compact classes array:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2019-October/204924.html

In the package postscript, make class ByteArray compact. This will allow the trunk version of StandardFileStream>>binary to work on V3, which in turn will eliminate the need for a separate V3 version of the Files package in the V3 update stream.

Name: Kernel-mt.1278
Author: mt
Time: 13 November 2019, 10:32:26.550043 am
UUID: 1aae36c0-4723-934a-a101-43de1d7435aa
Ancestors: Kernel-nice.1277, Kernel-mt.1266

Merges Kernel-mt.1266, which makes #messagesSequence compatible with SistaV1.

Name: Kernel-nice.1270
Author: nice
Time: 1 October 2019, 9:22:39.460936 pm
UUID: 05ae7bbb-2517-4c6e-a9c0-db89b42742e5
Ancestors: Kernel-mt.1269

In SmallFloat64>>#truncated fallback, don't bother with Infinities and NaN, since all SmallFloat64 are finite, nor with Float fractionPart, since all non-integer Float value fits in SmallInteger in a 64bits image, and thus are already handled by the primitive.

It's legitimate to inject such implementation specific knowledge into this implementation specific class.

Also revise BoxedFloat64>>#truncated, mostly with comments. Dividing by SmallInteger maxVal + 1 / 2 would lead to an infinite loop in a 64bits image, fortunately this branch is unreachable then. Each time I read it, I have the shadow of a doubt ;)

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

November 13, 2019

source.squeak.org

Network-cbc.234

Password was very specific for ServerDirectory.
Re-factor Password into a more generic password holder (usuable in other classes).
Create ServerPassword as a sub-class of Password with necessary specilizations moved down to it.
Make ServcieDirectory point to ServerPassword.

This allows us to use Password generally to store a password in memory (encoded) during a Squeak session, which is cleared out when saving. The intended use case is to not store passwords in code or in the file system - instead prompt the user at first use and cache it for the rest of the life of the session.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 12:58 PM

Network-ck.235

Move noAuthorizationMethod to the class side.

Without this change the #socks5 method is broken.
All the other default settings that #socks5 uses are on the class side too and its the only place that uses it.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 12:58 PM

Network-mt.236

Merges inbox contributions.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 12:57 PM

MorphicExtras-mt.267

Increase the accuracy of magnifier a little bit. Not sure whether we want to add some "low performance" check here. In that case, I would opt for "500" or "1000" as stepTime.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 12:49 PM

EToys-ct.354

Simplify help display of FreeCell (Etoys has also depended on ToolBuilder before)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:19 AM

EToys-ct.355

Add Form>>#scaledToWidth:, an analogon for #scaledToHeight:

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:18 AM

EToys-ct.356

FreeCell>>#help: Use #editWithLabel: instead of reinventing the wheel ...

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:18 AM

EToys-ct.357

Respect submorphs in MovingEyeMorph.>>#color:

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:18 AM

EToys-ct.358

Replace miscellaneous deprecated calls

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:18 AM

EToys-ct.359

Refactor SpectrumAnalyzerMorph: Extract #fftSize: to enable foreign calls

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:18 AM

EToys-ct.360

Recategorize WatchMorph constructor

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:17 AM

EToys-ct.364

Fixes a drawing bug in SyntaxMorph

Before this commit, you could not even run [SyntaxMorph test] due to this slip ...

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:17 AM

EToys-ct.365

Fixes small layout error in tiles due to missspelling

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:17 AM

EToys-ct.367

Allow for embedding SyntaxMorphs into test tiles.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:15 AM

EToys-mt.368

Merge! Merge! Merge! Various fixes in Etoys-related places.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:15 AM

Morphic-mt.1587

Two minor layout fixes.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 11:09 AM

60Deprecated-mt.61

Complements Morphic-mt.1586.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 10:53 AM

Morphic-mt.1586

Fixes convenience messages to put a morph in a scroll pane. No need for the special case of a two-way scroll pane anymore.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 10:52 AM

Kernel-mt.1266

Make #messagesSequence compatible with SistaV1 and CompiledBlcoks again *and* keep the meaning of #messagesSequence as restored in the previous commit by eem.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 09:32 AM

Kernel-mt.1278

Merges Kernel-mt.1266, which makes #messagesSequence compatible with SistaV1.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 13, 2019 09:32 AM

squeaksource.com

Club-NicoMonasterio.4

empty log message

by Nicolas Monasterio (nicoinfo.edu@gmail.com) at November 13, 2019 02:19 AM

Club-NicoTpfinal.3

empty log message

by Nicolas Monasterio (nicoinfo.edu@gmail.com) at November 13, 2019 01:55 AM

Club-NicoMonasterio.2

empty log message

by Nicolas Monasterio (nicoinfo.edu@gmail.com) at November 13, 2019 01:43 AM

Club-NicoMonasterio.1

empty log message

by Nicolas Monasterio (nicoinfo.edu@gmail.com) at November 13, 2019 01:36 AM

November 12, 2019

squeaksource.com

ObjectLand-Web-GrahamKelly.12

empty log message

by Graham (gkgoat6700@gmail.com) at November 12, 2019 07:45 PM

November 11, 2019

squeaksource.com

ObjectLand-Web-GrahamKelly.11

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 09:45 PM

ObjectLand-Web-GDK.10

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 09:44 PM

ObjectLand-Web-GrahamKelly.10

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 09:27 PM

ObjectLand-Pharo Support-GrahamKelly.8

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 09:26 PM

AMB-GrahamKelly.3

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 09:01 PM

JSBridge-GrahamKelly.4

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 08:36 PM

ObjectLand-Core-GDK.38

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 08:17 PM

ObjectLand-Core-GDK.37

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 07:34 PM

ObjectLand-Core-GDK.35

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 07:29 PM

ObjectLand-Core-GrahamKelly.36

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 07:24 PM

ObjectLand-Core-GrahamKelly.35

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 07:20 PM

ObjectLand-Core-GDK.34

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 02:37 PM

ObjectLand-Core-GDK.33

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 02:37 PM

ObjectLand-Web-GDK.9

empty log message

by Graham (gkgoat6700@gmail.com) at November 11, 2019 02:36 PM

November 07, 2019

squeaksource.com

Chip8-TSL.3

empty log message

by Thiago da Silva Lino (thiagolino@yahoo.com.br) at November 07, 2019 09:02 AM

source.squeak.org

Tools-mt.912

Quick fix for versions browser.

Note that I think that the interaction that results in selection changes should be implemented in the widgets, not the models.

Is [shift] pressed?
Is it a drag?
Is it a click on an already selected item?

All these things belong into widget code to keep model code simple. For example, I think that we should also move the logic behind range selection from MessageTrace into the AlternatePluggableListMorphOfMany. So other models (or tools) could benefit from it.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 07, 2019 08:21 AM

November 06, 2019

squeaksource.com

WASM-edc.18

empty log message

November 06, 2019 10:51 PM

source.squeak.org

System-mt.1117

Adds missing method to make #test01ImplementationHooks pass again.

We might want to re-design this at some point. There are now several cases in the image where class-side caches need to be invalidated on UI-theme application. Maybe change the test...

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 06, 2019 05:52 PM

squeaksource.com

WASM-edc.17

empty log message

November 06, 2019 12:08 PM

source.squeak.org

Morphic-mt.1584

Fixes a regression in PluggableListMorph >> #getVisibleList. Also restore code formatting in that method.

Note that "3@3" referred to #hMargin in LazyListMorph, which is not required since the entire row is defined by its selection rectangle, not the beginning of the text. Still, "0@1" is required because #bottomLeft is (always) one pixel to far down.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at November 06, 2019 08:07 AM

November 05, 2019

source.squeak.org

Collections-cmm.859

Let OrderedDictionary print its elements in its own sequence.

by Chris Muller (ma.chris.m@gmail.com) at November 05, 2019 11:07 PM

Network-ck.235

Move noAuthorizationMethod to the class side.

Without this change the #socks5 method is broken.
All the other default settings that #socks5 uses are on the class side too and its the only place that uses it.

November 05, 2019 01:28 PM

Collections-cmm.858

Let the printString of an OrderedDictionary reveal its key sequence.

by Chris Muller (ma.chris.m@gmail.com) at November 05, 2019 01:25 AM

VMMaker-dtl.405

Use pushRemappableOop: to protect all positive64BitIntegerFor: calls in primitiveVMParameter. A large integer is instantiated in the VM even if normalized to small integer in the image, so protection is needed.

by David T. Lewis (lewis@mail.msen.com) at November 05, 2019 12:46 AM

VMMaker-dtl.404

VMMaker 4.16.8
Correct a long-standing issue in VM parameter reporting for values specified as milliseconds in the interface, but measured as microseconds internally. Adhere to the documented interface and answer the values in units of milliseconds, using Float values to supply higher precision when available from the VM. For example, a duration measured as 123456 microseconds is reported as a VM parameter value of 123.456 milliseconds. The change affects VM parameters 8, 10, 36, and 38.

by David T. Lewis (lewis@mail.msen.com) at November 05, 2019 12:45 AM

October 30, 2019

source.squeak.org

Chronology-Core-mt.50

Proposal to add GC pressure to #bench method.

October 30, 2019 09:25 AM

Tools-mt.911

*at:put: should always return the stored value.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 30, 2019 08:16 AM

October 29, 2019

source.squeak.org

Morphic-mt.1583

Make it possible to recover from (deprecation) warnings in important drawing methods.

See http://forum.world.st/The-Trunk-System-mt-1093-mcz-tp5103937p5106420.html

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 29, 2019 02:09 PM

Tools-mt.910

Fixes (a regression in) list selection in change-list tool. It is not the job of the model to implement toggle in a multi-selection setting. The model only has to react to index selector and selection-list selectors.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 29, 2019 11:39 AM

October 28, 2019

source.squeak.org

VMMaker.oscog-nice.2574

Fix issue 436 again

if msecs is usqInt, then the subtraction msecs - ioMsecs() is performed as unsigned 32bits, and can lead to high value instead of slightly negative value, which remain positive when converted to 64 bit signed long deltaMsecs...

That makes a near 48 days delay before waking up!

The expression must be evaluated with 64bits signed long arithmetic, what we obtain by declaring msecs as sqLong...

When we write C code, we must think in C language, not upper level language with exact integer arithmetic (no wrap, no overflow), that's a potential danger of Slang...

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at October 28, 2019 06:14 PM

Files-dtl.184

Provide error handling for #adoptInstance in StandardFileStream>>binary to provide pre-Spur behavior when running on a V3 image. Prior to Spur, class ByteArray cannot adopt an instance of ByteString, so use #asByteArray instead.

Resolves the only remaining difference for package Files when running on either Spur or V3 images. The packages with significant Spur/V3 differences (excluding unit tests) are now Collections, Compiler, Kernel, and System. See www.squeaksource.com/TrunkUpdateStreamV3 for verification.

by David T. Lewis (lewis@mail.msen.com) at October 28, 2019 12:50 PM

October 25, 2019

source.squeak.org

VMMaker.oscog-nice.2572

Fix the problem with small delays in old images, which occasionally break OpenSmalltalk CI as reported in issue 436

https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/436

The problem has been observed on a macos32x86/squeak.cog.v3 VM + Squeak-4.6 image still using millisecond clock to handle delays (and thus #primitiveSignalAtMilliseconds).
It happens with small delays that may be seen as slightly negative inside the primitive, and erroneously confused with a clock roll-over.

This should not happen in newer image that use microsecond clock, though I didn't perform any related analysis.
The problem can easily be triggered by this snippet (save you work first!):

s := Semaphore new.
Delay primSignal: s atMilliseconds: Time primMillisecondClock - 2.
s wait.

Now, the detailed explanations:

---------------------------------------------------

At image side, the absolute time msecs at which to wake up is usually formed by adding:

msecs := absolute_millisecond_clock1 + relative_delay_duration.

In #primitiveSignalAtMilliseconds, some time has elapsed since, and we subtract millisecond clock to retrieve the remaining duration to wait:

deltaMsecs := msecs - absolute_millisecond_clock2.

If ever the millisecond clock roll-over in between the two calls clock1 and clock2,
then we will have clock1 close to clock2 + MillisecondClockMask, and:

deltaMsecs := relative_delay_duration - already_elapsed_time + MillisecondClockMask

that is a huge delay, 1<<29 milliseconds, about 6 days!

A negative deltaMsecs means an already expired delay, it cannot happen because of rollover
(unless the VM hangs more than 3 days, case which we do not have to handle: the delay is then expired because we cannot handle such huge delays - see below).

Technically, the usage of #positive32BitValueOf: would allow passing msecs upTo: 1<<32-1, that is a huge delay (at least 1<<32 - (1<<29), about 48 days).

But how to distinguish a huge relative_delay_duration from a rollover?
We can't really. We might check if clock2 is small, and declare it's a rollover if under a threshold, else a big delay.
But there will always be edge cases when such oracle would give the wrong answer.
We could try and pass 3 arguments instead of 2, semaphore, clock1 , relativeDelay.
But are we going to need it? Not really.
With a clock that roll-over like this, the only sane thing is to cap the delay at midway:

limit := MillisecondClockMask >> 1.

Then reduce a positive deltaMsecs with centered modulo:

deltaMsecs > limit ifTrue: [deltaMsecs := deltaMsecs - MillisecondClockMask].

Only a strictly positive deltaMsecs need then to be honored as the next wake up time (nextWakeupUsecs).

---------------------------------------------------

But wait, this is only one face of the problem!

Due to current implementation of ioRelinquishProcessorForMicroseconds(),
the microsecond increment (deltaMsecs * 1000) must fit in a long.
If ever it overflows, and wrap over negated values, then bad consequences will happen via aioSleepForUsecs() and aioPoll().
This is including unresponsive runaway images spitting out errno 22; select: invalid argument in the console, as observed in bug report.
On 32bits unix VM, that further limit the maximum delay to about 2147 seconds!

IMO, it's urgent to protect ioRelinquishProcessorForMicroseconds() from such overflow,
But that will deserve another commit (it's platforms source code, not Smalltalk code).

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at October 25, 2019 10:12 PM

System-ct.1117

Refactor Utilities' CommonRequestStrings: Instead of an obsolescent string, store the code itself.

This allows to benefit from senders and other refactoring tools. Also, it's impossible to compile invalid code. As you can see, I commented one line out as it contains a selector that is no longer present in modern Squeak.

This change should not affect overall performance, as #commonRequestStrings keeps caching the result.

Please note that when merging this commit into Trunk, a conflict with System-ct.1103 will be to solved manually.

October 25, 2019 04:50 PM

Graphics-ct.424

Proposal: Support for a permanent, image-defined host window title

Do "DisplayScreen defaultHostWindowTitle: 'Image sweet Image'", save your image and reopen it

October 25, 2019 03:53 PM

Tools-ct.910

Removes Blocks check from MethodFinder

Due to several implementators of #value(:)?(value:)* and #cull(:)?(cull:)* we have got nowadays, this is an unnecessary restriction. Furthermore, it impedes maintenance. For more information, read http://forum.world.st/MethodFinder-Blocks-td5105421.html

October 25, 2019 11:00 AM

Files-dtl.184

Provide error handling for #adoptInstance in StandardFileStream>>binary to provide pre-Spur behavior when running on a V3 image. Prior to Spur, class ByteArray cannot adopt an instance of ByteString, so use #asByteArray instead.

Resolves the only remaining difference for package Files when running on either Spur or V3 images. The packages with significant Spur/V3 differences (excluding unit tests) are now Collections, Compiler, Kernel, and System. See www.squeaksource.com/TrunkUpdateStreamV3 for verification.

by David T. Lewis (lewis@mail.msen.com) at October 25, 2019 02:15 AM

October 23, 2019

source.squeak.org

Morphic-mt.1582

Adds things for column-specific list filtering:

- backgroundColor for LazyListMorph
- optional filter-term indication for LazyListMorph
- column highlights for multi-column lists
- Character tab to cycle between columns

Note that I opted to not use the [space] key for column toggling because (a) we have to widget-focus cycling via [tab] at the moment and (b) the space character might be a valuable filter term.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 23, 2019 03:31 PM

Morphic-mt.1581

Complements ToolBuilder-Kernel-mt.134.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 23, 2019 01:41 PM

ToolBuilder-Morphic-mt.248

Complements ToolBuilder-Kernel-mt.134.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 23, 2019 01:41 PM

ToolBuilder-Kernel-mt.134

Support the functional layout properties for LazyListMorph in tool-builder specs. Chose "alignment" instead of "positioning" because specs are not Morphic-specific. The terms "item" and "column" reflect item- or column-specifc settings, which can be confusing because our current lists do only support uniform (item) rows.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 23, 2019 01:40 PM

squeaksource.com

WASM-edc.14

tryng to solve loop and block

October 23, 2019 12:43 PM

October 21, 2019

squeaksource.com

ObjectLand-Core-GDK.25

empty log message

by Graham (gkgoat6700@gmail.com) at October 21, 2019 09:39 AM

October 20, 2019

squeaksource.com

ObjectLand-Pharo-GrahamKelly.6

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 09:04 PM

ObjectLand-Core-GrahamKelly.24

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 09:04 PM

ObjectLand-Maui-GDK.5

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 08:47 PM

ObjectLand-Core-GDK.23

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 08:47 PM

ObjectLand-Core-GDK.22

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 07:35 PM

ObjectLand-Core-GDK.21

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 07:17 PM

ObjectLand-Core-GDK.20

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 02:43 PM

ObjectLand-Core-GDK.19

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 02:05 PM

ObjectLand-Core-GrahamKelly.18

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 02:03 PM

ObjectLand-Rusni-GrahamKelly.2

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 02:03 PM

ObjectLand-Rusni-GrahamKelly.1

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 01:40 PM

ObjectLand-Web-GDK.4

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 01:32 PM

ImageSnapshot-dtl.5

When rebooting the VM into a new ImageSnapshot, honor the resuming flag to prevent re-evaluating in the resumed image.

by Dave Lewis (lewis@mail.msen.com) at October 20, 2019 12:45 PM

ObjectLand-Themes-GDK.2

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 12:17 PM

ObjectLand-Themes-GDK.1

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 11:42 AM

ObjectLand-Petit-GDK.2

empty log message

by Graham (gkgoat6700@gmail.com) at October 20, 2019 11:41 AM

October 19, 2019

squeaksource.com

ObjectLand-Petit-GDK.1

empty log message

by Graham (gkgoat6700@gmail.com) at October 19, 2019 09:26 PM

ObjectLand-Maui-GDK.4

empty log message

by Graham (gkgoat6700@gmail.com) at October 19, 2019 09:26 PM

ObjectLand-Core-GDK.17

empty log message

by Graham (gkgoat6700@gmail.com) at October 19, 2019 09:26 PM

October 17, 2019

squeaksource.com

OSProcess-dtl.110

Use Processor userSchedulingPriority rather than priority 40.

by John-Reed Maffeo (jrmaffeo@gmail.com) at October 17, 2019 02:37 PM

JSON-tonyg.39

Change JsonTests>>testStreaming to compare to JsonObject new, rather than just testing isDictionary.

testStreaming should not only check that the result is a dictionary, but that it is empty.

by John-Reed Maffeo (jrmaffeo@gmail.com) at October 17, 2019 02:37 PM

OTAR-jrm.3

Saved from Windows 7 computer. Changes made to support cross platform for Win and Mac. Added Json and OSProcess as required packages.

by John-Reed Maffeo (jrmaffeo@gmail.com) at October 17, 2019 02:17 PM

October 16, 2019

squeaksource.com

Chip8-TSL.2

Using AlignmentMorph as container

by Thiago da Silva Lino (thiagolino@yahoo.com.br) at October 16, 2019 03:12 PM

SBE-Quinto-pre.4

First commit of new Quinto game!

by Patrick R. (patrick.rein@gmail.com) at October 16, 2019 12:46 PM

October 15, 2019

squeaksource.com

System.V3-dtl.1115

Name: System-mt.1115
Author: mt
Time: 11 October 2019, 6:31:06.485593 pm
UUID: 414c0966-8964-aa49-9eb0-a44dd2542d3e
Ancestors: System-mt.1114

Simplify feature-based class search. For example, given the term "LazyMor", find both LazyListMorph and MulticolumnLazyListMorph.

by Dave Lewis (lewis@mail.msen.com) at October 15, 2019 11:44 PM

ObjectLand-Core-GrahamKelly.10

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 09:14 PM

ObjectLand-Core-GrahamKelly.7

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 09:12 PM

ObjectLand-Core-GrahamKelly.8

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 09:12 PM

ObjectLand-Core-GrahamKelly.9

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 09:11 PM

ObjectLand-Core-GDK.6

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 09:11 PM

ObjectLand-Core-GrahamKelly.5

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 07:17 PM

ObjectLand-Pharo-GrahamKelly.1

init

by Graham (gkgoat6700@gmail.com) at October 15, 2019 06:41 PM

rST-GDK.4

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 06:40 PM

ObjectLand-UI-GDK.5

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 06:23 PM

ObjectLand-UI-GDK.4

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 06:22 PM

ObjectLand-AI-GDK.4

empty log message

by Graham (gkgoat6700@gmail.com) at October 15, 2019 06:22 PM

October 14, 2019

squeaksource.com

ObjectLand-UI-GDK.3

empty log message

by Graham (gkgoat6700@gmail.com) at October 14, 2019 08:54 PM

ObjectLand-Core-GDK.4

empty log message

by Graham (gkgoat6700@gmail.com) at October 14, 2019 08:43 PM

ObjectLand-UI-GDK.2

empty log message

by Graham (gkgoat6700@gmail.com) at October 14, 2019 08:42 PM

October 10, 2019

squeaksource.com

System.V3-dtl.1114

Name: System-mt.1114
Author: mt
Time: 9 October 2019, 3:31:40.772803 pm
UUID: 8d7cf94a-6d5a-6d4c-aef8-e48a1bd36ea8
Ancestors: System-eem.1113

For exception handling and debugging, untangle some dependencies between System and Kernel.

by Dave Lewis (lewis@mail.msen.com) at October 10, 2019 11:20 AM

Kernel.V3-dtl.1275

Name: Kernel-mt.1275
Author: mt
Time: 10 October 2019, 11:13:31.338276 am
UUID: 8558b4a5-037d-4e61-a937-0f552f86fbfb
Ancestors: Kernel-mt.1274

Shout styling should not depend (implicitely) on Morphic.

by Dave Lewis (lewis@mail.msen.com) at October 10, 2019 11:16 AM

Kernel.V3-dtl.1274

Name: Kernel-mt.1274
Author: mt
Time: 9 October 2019, 3:31:08.214803 pm
UUID: 72b966cb-5325-794c-b6a3-068303a6b153
Ancestors: Kernel-eem.1273

For exception handling and debugging, untangle some dependencies between System and Kernel.

by Dave Lewis (lewis@mail.msen.com) at October 10, 2019 11:16 AM

Compiler.V3-dtl.412

Name: Compiler-mt.412
Author: mt
Time: 9 October 2019, 9:47:40.360433 am
UUID: e033a572-485d-41e4-9fcc-5cc55d49a893
Ancestors: Compiler-eem.411

Reformat the sources from my recent changes in the Compiler package in the style of rectangular blocks because it is the default style in that package.

Thanks to Eliot for the pointer.

by Dave Lewis (lewis@mail.msen.com) at October 10, 2019 11:13 AM

October 09, 2019

squeaksource.com

OTAR-jrm.2

This version is the current working copy of the OTAR application. I set up project entries in Squeak Map and Squeak Source. In the process, I deleted a project with "OTAR" in the name which I had no use for.

by John-Reed Maffeo (jrmaffeo@gmail.com) at October 09, 2019 07:32 PM

OrbulonHelpers-GDK.1

empty log message

by Graham (gkgoat6700@gmail.com) at October 09, 2019 06:36 PM

Orbulon-GDK.130

empty log message

by Graham (gkgoat6700@gmail.com) at October 09, 2019 06:17 PM

System.V3-dtl.1113

Name: System-eem.1113
Author: eem
Time: 8 October 2019, 1:09:10.347077 pm
UUID: 8706b6c9-6d43-4c5d-97c2-aa69d0ceba2d
Ancestors: System-mt.1112

Implement WeakRegistry class>>postRecompileAction to update WeakRegistry finalizers post recompile to avoid references to stale methods.

by Dave Lewis (lewis@mail.msen.com) at October 09, 2019 01:06 AM

Kernel.V3-dtl.1273

Name: Kernel-eem.1273
Author: eem
Time: 8 October 2019, 12:59:35.689325 pm
UUID: 50bfe346-15d7-4aa9-ba69-0c21d3d8d011
Ancestors: Kernel-mt.1272

Add a method that documents the postRecompileAction convention for rebuilding state affected by a Compiler recompileAll.

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

Compiler.V3-dtl.411

Name: Compiler-eem.411
Author: eem
Time: 8 October 2019, 1:01:29.356552 pm
UUID: fb8ba22e-7115-49b7-8a23-52ae58c168cf
Ancestors: Compiler-mt.410

Implement the postRecompileAction convention for rebuilding state affected by a Compiler recompileAll.
Eliminate such a dependency in StdLiterals itsdelf by using a Symbol for performing literalEqual:. Remove Decompiler initialize from the comment; this method doesn;t do anything affected by VariableNode class>>#initialize anymore.

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

System.V3-dtl.1112

Name: System-mt.1112
Author: mt
Time: 7 October 2019, 10:07:46.787231 am
UUID: 3dbbf205-1ee0-3841-ae6b-2d926a4a2055
Ancestors: System-pre.1111

Fixes and clean-up in the debugger infrastructure:

- Adds several tests in DebuggerTests
- Replaces ErrorRecursion and ErrorRecursionGard with a process-local flag to avoid false recursion detection
- Simplifies interrupt-request processing in Project >> #interruptName:preemptedProcess:
- Simplifies "Debug it" invocation. See TextEditor >> #debugIt and Process' class-side messages.
- Move log-file writing for low space to SmalltalkImage >> #lowSpaceWatcher.
- Adds Debugger >> #close, similar to Project >> #close.
- Moves #cmdDotEnabled preference check to StandardToolSet
- Adds a convenient way to debug exceptions without suspending the current process.

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

Kernel.V3-dtl.1272

Name: Kernel-mt.1272
Author: mt
Time: 7 October 2019, 10:09:56.205231 am
UUID: 8fe3f896-0806-fe46-8e86-68f3c0f98d4d
Ancestors: Kernel-ul.1271

Complements System-mt.1112, which fixes and clean-up in the debugger infrastructure.

by Dave Lewis (lewis@mail.msen.com) at October 09, 2019 12:46 AM

October 08, 2019

squeaksource.com

Orbulon-GDK.129

empty log message

by Graham (gkgoat6700@gmail.com) at October 08, 2019 08:30 PM

Orbulon-GDK.128

empty log message

by Graham (gkgoat6700@gmail.com) at October 08, 2019 08:26 PM

Orbulon-GDK.127

empty log message

by Graham (gkgoat6700@gmail.com) at October 08, 2019 08:13 PM

October 06, 2019

squeaksource.com

Orbulon-GDK.126

empty log message

by Graham (gkgoat6700@gmail.com) at October 06, 2019 08:12 PM

Orbulon-GDK.125

empty log message

by Graham (gkgoat6700@gmail.com) at October 06, 2019 06:19 PM

Orbulon-GDK.124

empty log message

by Graham (gkgoat6700@gmail.com) at October 06, 2019 05:36 PM