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

January 15, 2019

squeaksource.com

ConfigurationOfXMLRPC-sg.22

empty log message

January 15, 2019 06:26 AM

January 14, 2019

source.squeak.org

Tools-eem.843

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

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

Cog-eem.352

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

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

Chronology-Tests-ul.15

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

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

Chronology-Core-ul.22

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

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

January 12, 2019

source.squeak.org

Chronology-Tests-dtl.15

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

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

January 11, 2019

squeaksource.com

ConfigurationOfSmallapack-nice.28

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

January 11, 2019 09:31 PM

ConfigurationOfSmallapack-nice.28

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

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

Smallapack-Collection-nice.20

Remove ExternalAddress>>shallowCopy

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

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

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

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

January 11, 2019 09:26 PM

ConfigurationOfSmallapack-nice.27

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

January 11, 2019 08:50 PM

ConfigurationOfSmallapack-nice.27

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

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

ConfigurationOfSmallapack-nice.26

Use pharo6.x instead of paro6.0.x

January 11, 2019 08:44 PM

ConfigurationOfSmallapack-nice.26

Use pharo6.x instead of paro6.0.x

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

Presentation2019-hjh.3

Updated setDefaultExtent
so that it takes PasteUpMorphL if loaded.

Added:
resetDefaultExtent

January 11, 2019 11:10 AM

Smallapack-StdLib.UFFI-nice.1

Provide a UFFI (Pharo6) compatible StdLibrary

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

Smallapack-Collection-nice.19

Put StandardLibrary in a separate package for Pharo6 compatibility

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

Smallapack-StdLib-nice.1

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

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

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

Smallapack-Collection-nice.18

Provide a Pharo5.x compatible system startUp

Also only install when resuming.

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

ConfigurationOfSmallapack-nice.25

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

Still to come: support for Unified FFI

January 11, 2019 07:42 AM

ConfigurationOfSmallapack-nice.25

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

Still to come: support for Unified FFI

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

Smallapack-OpalForLegacyFFI-nice.2

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

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

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

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

Smallapack-OpalCompiler-nice.6

Clean-up to obtain a minimal POC:

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

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

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

January 10, 2019

squeaksource.com

Smallapack-OpalForLegacyFFI-nice.1

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

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

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

Smallapack-OpalCompiler-nice.4

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

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

Smallapack-OpalCompiler-nice.3

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

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

Smallapack-AlgorithmPrereq.Opal-nice.1

Variant with SLOpalCompiler

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

source.squeak.org

Chronology-Core-eem.22

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

January 10, 2019 02:53 AM

January 09, 2019

source.squeak.org

WebClient-Core-ul.116

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

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

January 05, 2019

source.squeak.org

Cog-eem.351

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

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

VMMaker.oscog-eem.2507

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

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

SqueakSSL-Tests-eem.23

Fix a slip in tearDown

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

Regex-Core-eem.54

Remove an unnecessary store into block argument

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

BytecodeSets.spur-eem.79

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

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

Kernel-eem.1210

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

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

Morphic-eem.1472

Fix a slip in selectSubmenuKey

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

Compiler-eem.399

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

Fix speeling rorre and excess formatting in argumentsInEvaluationOrder

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

January 04, 2019

squeaksource.com

VMConstruction-Plugins-OSProcessPlugin.oscog-nice.62

Suggestion to make GetCurrentDirectory and GetEnvironmentStrings return UTF8 encoded strings

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

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

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

source.squeak.org

VMMaker.oscog-nice.2506

Fix two minor but annoying compiler warnings:

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

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

Chronology-Core-ul.21

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

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

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

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

Chronology-Core-dtl.20

Bootstrap UTCDateAndTime, step 5 of 5

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

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

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

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

Chronology-Core-dtl.19

Resume using DateAndTime instead of LXDateAndTime.

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

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

Chronology-Core-dtl.18

Bootstrap UTCDateAndTime, step 3 of 5

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

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

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

Chronology-Core-dtl.17

Bootstrap UTCDateAndTime, step 2 of 5

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

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

Chronology-Core-dtl.16

Bootstrap UTCDateAndTime, step 1 of 5

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

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

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

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

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

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

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

Cog-eem.350

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

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

January 03, 2019

source.squeak.org

Cog-eem.349

Eliminate the targets set in DominatorFinder (just use cameFroms) and simplify to use selectors not messages.

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

Compiler-eem.398

Fix a spelling error

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

Compiler-eem.397

Fix the recorded pcs for inlined blocks. The old code assumed one-byte branches and so generated off-by-one pcs for all multiple byte branches. In addition the code for case guards was simply wrong, always off-by-one.
The fix is to use emncoder nextPC in teh right place, not encoder pc after branch/send generation when a multibyte send will compute the wrong pc. Tests exist in Tests-eem.405 and later. Play via debugging e.g.:

5
caseOf: {
[4] -> [#nope].
[3] -> [#nope].
[2] -> [#nope].
[1] -> [#nope].
[0] -> [#nope] }
otherwise: [#dope]

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

Tests-eem.405

Add tests that check that for all methods in a package all pcs in nodes in that method map to valid pcs.

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

January 02, 2019

squeaksource.com

Zinc-HTTP-sg.2

empty log message

January 02, 2019 04:53 PM

January 01, 2019

source.squeak.org

SUnit-fn.114

Dynamically determine delay duration that exceeds the test's timeout. This way, the test also passes on low performance VMs (see Smalltalk>>#isLowerPerformance).

by Fabio Niephaus (code@fniephaus.com) at January 01, 2019 10:17 PM

EToys-kfr.339

A few changes to TextPropertiesMorph to make it work more like intended.

by Karl Ramberg (karlramberg@gmail.com) at January 01, 2019 01:37 PM

December 31, 2018

source.squeak.org

MorphicExtras-kfr.249

Make TextOnCurve work again. Bounds in TextOnCurve are computed differently than in NewParagraph

by Karl Ramberg (karlramberg@gmail.com) at December 31, 2018 08:35 PM

December 30, 2018

source.squeak.org

Nebraska-ul.54

- make sure StringSocketTestCase >> #tearDown works even if #setUp fails.

by Levente Uzonyi (leves@elte.hu) at December 30, 2018 06:03 PM

VMMaker.oscog-eem.2504

Make the fix more precise. ^self does map to a return type of #void, so only answer in the positive for variables other than self.

by Eliot Miranda (eliot.miranda@gmail.com) at December 30, 2018 01:52 AM

VMMaker.oscog-eem.2503

Fix a bug in type inferrence that resulted in the inferred return type of findMapLocationForMcpc:inMethod: to flip between usqInt (correct) and sqInt (incorrect). addTypesFor:to:in: needed to answer if it was inferring a return type from an untyped variable, as well as an untyped method.

by Eliot Miranda (eliot.miranda@gmail.com) at December 30, 2018 01:39 AM

December 29, 2018

source.squeak.org

Chronology-Core-dtl.16

Bootstrap UTCDateAndTime, step 1 of 5

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

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

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

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

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

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

by David T. Lewis (lewis@mail.msen.com) at December 29, 2018 10:36 PM

Chronology-Core-dtl.17

Bootstrap UTCDateAndTime, step 2 of 5

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

by David T. Lewis (lewis@mail.msen.com) at December 29, 2018 10:36 PM

VMMaker.oscog-eem.2502

Get rid of unused subclassResponsibilities in the Cogit back ends.

by Eliot Miranda (eliot.miranda@gmail.com) at December 29, 2018 07:12 PM

December 27, 2018

squeaksource.com

PlotMorph-tpr.41

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

December 27, 2018 11:01 PM

source.squeak.org

Tools-pre.840

Fixes two defects in the FileContentsBrowser. One prevented the browsing of methods in changessets whose classes are not present. The other is a dnu error due to an, seemingly, overlooked old message send. (http://bugs.squeak.org/view.php?id=7615)

by Patrick Rein (patrick.rein@gmail.com) at December 27, 2018 09:03 PM

ToolsTests-pre.90

Changes the FileContentsBrowserTest to trigger a failure we observed recently when browsing a changeset whose classes are not present in the system. Also improves another test case and removes the expected failures after fixing the corresponding bug.

by Patrick Rein (patrick.rein@gmail.com) at December 27, 2018 09:01 PM

VMMaker.oscog-nice.2501

Grrr! the auto-enclosing preference strike backs!

Frankly, when you modify code rather than create new code, it's a pain somewhere under the bottom of your back.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 27, 2018 02:38 PM

VMMaker.oscog-nice.2500

Fix a few C compiler warnings for LLP64:

1) always declare primitiveRoutine as 'void (*primitiveRoutine)(void)'
It was sometimes declared '(*primitiveRoutine)()'

2) correct the printNum macro
printf("%ld",(long) n) should be printf("%ld",(long) (n)) otherwise printNum: x + y will be interpreted printf("%ld",(long) x + y), that is printf("%ld",((long) x) +y) and if y is sqInt (most of the time), then %lld is required in LLP64 and the compiler barks...
While at it, use the dedicated macro PRIdSQINT for printing sqInt.

3) remove cast statSGCDeltaUsecs asUnsignedLong in writeScavengeLog
The PRIdSQINT expects a lon long (64 bits) not an unsigned long (32 bits in LLP64)

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 27, 2018 02:10 PM

December 26, 2018

squeaksource.com

PostgresV3-Pool-ul.5

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

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

PostgresV3-Core-ul.22

- lint + tweaks + fixed a comment

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

source.squeak.org

Chronology-Core-ul.21

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

by Levente Uzonyi (leves@elte.hu) at December 26, 2018 12:55 AM

December 25, 2018

source.squeak.org

VMMaker.oscog-nice.2499

Use printf: (with PRIxSQINT support) instead of print:f: and suppress a bunch of C compiler warnings.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 25, 2018 11:59 PM

squeaksource.com

PostgresV3-DBAPI-pn18.1

First commit of a client API for PostgresV3.

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

PostgresV3-Core-pn18.21

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

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

December 24, 2018

source.squeak.org

VMMaker.oscog-eem.2498

Integrate Ken Dickey's addition of the ThreadedARM64FFIPlugin. Thanks Ken!

by Eliot Miranda (eliot.miranda@gmail.com) at December 24, 2018 10:03 PM

VMMaker.oscog-akg.2497

FilePlugin>>primitiveFileRename

... fails in the simulator since the call to sCRFfn wasn't simulated.

Always allow the rename in the simulated code (if it really isn't allowed it will be picked up when the primitive is called).

by Eliot Miranda (eliot.miranda@gmail.com) at December 24, 2018 10:01 PM

December 21, 2018

source.squeak.org

VMMaker.oscog-akg.2497

FilePlugin>>primitiveFileRename

... fails in the simulator since the call to sCRFfn wasn't simulated.

Always allow the rename in the simulated code (if it really isn't allowed it will be picked up when the primitive is called).

December 21, 2018 06:28 PM

Chronology-Core-dtl.20

Bootstrap UTCDateAndTime, step 5 of 5

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

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

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

December 21, 2018 02:21 AM

Chronology-Core-dtl.19

Bootstrap UTCDateAndTime, step 4 of 5

Resume using DateAndTime instead of LXDateAndTime.

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

December 21, 2018 02:21 AM

Chronology-Core-dtl.18

Bootstrap UTCDateAndTime, step 3 of 5

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

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

December 21, 2018 02:21 AM

December 20, 2018

squeaksource.com

BarnsleyFern-kfr.7

refactor

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

BarnsleyFern-kfr.6

Mandelbrot

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

source.squeak.org

60Deprecated-pre.29

Moves a deprecated method from FileList2 class

by Patrick Rein (patrick.rein@gmail.com) at December 20, 2018 03:12 PM

Tools-pre.839

Categorizes uncategorized methods in Tools and moves one method to a Deprecated package

by Patrick Rein (patrick.rein@gmail.com) at December 20, 2018 03:11 PM

System-pre.1047

Categorizes uncategorized methods in the System category.

by Patrick Rein (patrick.rein@gmail.com) at December 20, 2018 12:56 PM

squeaksource.com

PBE-LightsOut-Anonymous.1

PBE-LightsOut-viktdavi

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

December 19, 2018

squeaksource.com

Chronology-Core-dtl.37

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

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

WASM-edc.28

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

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

source.squeak.org

VMMaker.oscog-eem.2496

Oops! Make sure to enable the new fiunctions in the VirtualMachine proxy API.

Fix an assumption in Oop conversion; must distinguish between immediates and non-immediates now we have multiple immediate classes.

by Eliot Miranda (eliot.miranda@gmail.com) at December 19, 2018 05:24 PM

December 17, 2018

source.squeak.org

Kernel-eem.1207

Fix a regression introduced in Kernel-eem.1205. doPrimitive:method:receiver:args: must simulate the three argument form of primitive 188 for the system to be able to do Debug It.

by Eliot Miranda (eliot.miranda@gmail.com) at December 17, 2018 07:23 PM

Kernel-pre.1206

Adds the resolve and reject utility methods to Promise for use cases in which Promises are used as a synchronization means between computations whose side effects we are interested in. (reject was added as another utility method to keep the protocol symmetric to the resolveWith: rejectWith: protocol).

by Patrick Rein (patrick.rein@gmail.com) at December 17, 2018 04:46 PM

MorphicExtras-pre.248

Recategorizes stepTime and wantsSteps to the stepping category.

by Patrick Rein (patrick.rein@gmail.com) at December 17, 2018 04:40 PM

Morphic-pre.1470

Recategorizes stepTime and wantsSteps back to the stepping category. Also changes the category for all subclasses which had it in the testing category.

by Patrick Rein (patrick.rein@gmail.com) at December 17, 2018 04:38 PM

squeaksource.com

WASM-edc.27

Global section in forensics and (local in compiler

December 17, 2018 10:59 AM

December 15, 2018

squeaksource.com

BarnsleyFern-kfr.5

Update drawing routine

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

BarnsleyFern-kfr.4

Add LSystem

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

BarnsleyFern-kfr.3

Add Sierpinski triangle

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

BarnsleyFern-kfr.2

Implementation of Barnsley fern from wikipedia

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

December 14, 2018

source.squeak.org

Morphic-pre.1469

Categorizes uncategorized methods in Morphic (but not all yet as some are difficult or seem deprecated).

by Patrick Rein (patrick.rein@gmail.com) at December 14, 2018 08:25 AM

December 13, 2018

source.squeak.org

ST80-pre.236

Categorized uncategorized messages in ST80 and moved test methods to tests.

by Patrick Rein (patrick.rein@gmail.com) at December 13, 2018 01:04 PM

HelpSystem-Tests-pre.21

Categorizes uncategorized methods in the HelpSystem tests package.

by Patrick Rein (patrick.rein@gmail.com) at December 13, 2018 11:22 AM

HelpSystem-Core-pre.107

Categorizes uncategorized methods in the HelpSystem package.

by Patrick Rein (patrick.rein@gmail.com) at December 13, 2018 11:22 AM

December 12, 2018

source.squeak.org

GraphicsTests-mt.51

Updates tests for converting points into rectangles.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at December 12, 2018 09:09 AM

Graphics-mt.405

Improvements on the recent addition (mt.404) of a new infix way to build rectangles around a center:

- rename #inflate: to #center: to match the "noun style" of #corner: and extent:
- for #center: treat the receiver as extent for readability
- add #origin: to have both infix ways where the receiver is the rectangle's extent
- change category for #corner:, #extent:, #center:, #origin:, and #rect: to "converting to rectangle" for discoverability

For the discussion, see http://forum.world.st/The-Trunk-Graphics-mt-404-mcz-td5090000.html

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at December 12, 2018 09:08 AM

Kernel-eem.1205

For the benefit of proxies, avoid withArgs:executeMethod: in the debugger's core primitive evaluator.

by Eliot Miranda (eliot.miranda@gmail.com) at December 12, 2018 06:49 AM

Tools-eem.838

For the benefit of proxies avoid the use of withArgs:executeMethod: in Debugger>>runUntil.

by Eliot Miranda (eliot.miranda@gmail.com) at December 12, 2018 06:26 AM

Kernel-eem.1204

For teh benefit of proxies avoid withArgs:executeMethod: in CompiledMethod>>valueWithReceiver:arguments:. Have CompiledMethod class>>receiver:withArguments:executeMethod: expect the primitiv e is available in that form and fail rather than fall back on withArgs:executeMethod:.

by Eliot Miranda (eliot.miranda@gmail.com) at December 12, 2018 06:25 AM

December 11, 2018

source.squeak.org

Kernel-nice.1203

Micro-optimization: use knowledge of SmallFloat64 representation: due to restricted exponent range, they can't be infinite nor nan (nor subnormal, but we don't ask).

Let a comment be more accurate, primitive 75 does not only fail for SmallInteger, but also for any other immediate value.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 11, 2018 11:58 PM

Kernel-nice.1202

Merge Kernel-pre.1201 + Kernel-nice.1200

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 11, 2018 11:34 PM

Kernel-nice.1200

Let's make basicInspect robust to crazy numbers.

With http://www.squeaksource.com/ArbitraryPrecisionFl.html
I can create crazy numbers like this:
((1 asArbitraryPrecisionFloatNumBits: 100) timesTwoPower: 1e100)

But then I can't print to decimal form (a bit too many bytes to be allocated....).

The problem when debugging such monster is that basicInspect is not basicEnough: it insists on printing the Number in the inspector title (label)!

If we invoke basicInspect, we generally want something basic. Even if we just inspect, having a label spanning more than 100 chars is vain...

So let's be robust.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 11, 2018 11:29 PM

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 December 11, 2018 11:27 PM

squeaksource.com

ArbitraryPrecisionFloat-nice.64

Fix comparison with Float

December 11, 2018 10:28 PM

source.squeak.org

VMMaker.oscog-nice.2492

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 Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 11, 2018 09:52 PM

TrueType-pre.51

Categorizes uncategorized messages in the TrueType package.

by Patrick Rein (patrick.rein@gmail.com) at December 11, 2018 05:01 PM

ToolsTests-pre.89

Adds a test documenting the (intended) behavior of the class browser to reset the instance/class mode when changing the system category.

Also changes three tests to be more resilient with respect to other symbols present in the image (having a symbol #cull somewhere in the image breaks the changed tests).

by Patrick Rein (patrick.rein@gmail.com) at December 11, 2018 04:07 PM

Tools-pre.837

Fixes an issue which caused the instance/class buttons in the class browser to show an inconsistent state after changing the system category.

by Patrick Rein (patrick.rein@gmail.com) at December 11, 2018 04:05 PM

Network-pre.228

Recategorizes methods in the Network package and applies a typo fix and an indentation fix.

by Patrick Rein (patrick.rein@gmail.com) at December 11, 2018 03:08 PM

60Deprecated-pre.28

Deprecating a method which was already deprecated before but not in a deprecated package.

by Patrick Rein (patrick.rein@gmail.com) at December 11, 2018 02:32 PM

Files-pre.182

Recategorizes methods in the files package. Also moves a deprecated method into the corresponding deprecated extension category.

by Patrick Rein (patrick.rein@gmail.com) at December 11, 2018 02:28 PM

December 09, 2018

squeaksource.com

Collections.V3-dtl.809

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

Add #histogramOf: convenience + test

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

Collections.V3-dtl.808

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

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

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

WASM-edc.26

Se agrego testQuick a OrderedCollection

Se clasifico testSection dentro de *WASM

testeando con hntrie.wasm haciendo en Terminal

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

wasm2wat hntrie.wasm -o hntrie.wast

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

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

December 09, 2018 10:38 AM

WASM-edc.25

empty log message

December 09, 2018 10:24 AM

source.squeak.org

Kernel-nice.1200

Let's make basicInspect robust to crazy numbers.

With http://www.squeaksource.com/ArbitraryPrecisionFl.html
I can create crazy numbers like this:
((1 asArbitraryPrecisionFloatNumBits: 100) timesTwoPower: 1e100)

But then I can't print to decimal form (a bit too many bytes to be allocated....).

The problem when debugging such monster is that basicInspect is not basicEnough: it insists on printing the Number in the inspector title (label)!

If we invoke basicInspect, we generally want something basic. Even if we just inspect, having a label spanning more than 100 chars is vain...

So let's be robust.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 09, 2018 10:17 AM

Chronology-Tests-dtl.12

Add DateAndTimeReferenceStreamTest to verify reference stream serialization for DateAndTime and Date. Tests are written in a traditional Chronology image, and will pass for both Spur and V3 Squeak images. When DateAndTime class is updated for UTCDateAndTime, saved instances must be compatible with the original serialization format because serialiized instances are used extensively in Monticello, and compatibility with saved sources is required. Therefore it is necessary that these tests pass after installation of UTCDateAndTime.

by David T. Lewis (lewis@mail.msen.com) at December 09, 2018 01:28 AM

squeaksource.com

Chronology-Core-dtl.35

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

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

Chronology-Core-dtl.34

Fix reference stream serialization for DateAndTime in UTC format. Instances are always serialized in a cononical format corresponding to the traditional implementation with four instance variables. When materializing, alway read the cononical data and initiaize to the new format with two instance variables.

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

December 08, 2018

squeaksource.com

Tests-UTCDateAndTime-dtl.2

Verify reference stream serialization for DateAndTime and Date. Tests are written in a Cronology-Classic image and should pass in a Chronology-UTC image.

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

source.squeak.org

Morphic-kks.1465

FIx to avoid project view windowl hiding while displaying a server check dialog.

December 08, 2018 12:42 PM

December 07, 2018

squeaksource.com

ArbitraryPrecisionFloat-nice.62

Correct a typo in asMinimalDecimalFraction comment

December 07, 2018 09:32 PM

ArbitraryPrecisionFloat-nice.61

Use a LRUCache for pi and (2 ln) because they are frequently used.

December 07, 2018 09:31 PM

source.squeak.org

Sound-pre.65

Categorizes uncategorized messages in the Sound package (1250 methods to go).

by Patrick Rein (patrick.rein@gmail.com) at December 07, 2018 03:27 PM

Tests-pre.404

Categorizes unclassified methods in the Tests package, also recategorizes some test methods from testing to tests but not all (another door of the message categories advent calendar)

by Patrick Rein (patrick.rein@gmail.com) at December 07, 2018 12:27 PM

Monticello-pre.691

Categorizes the methods of MCToolWindowBuilder as they were still missing.

by Patrick Rein (patrick.rein@gmail.com) at December 07, 2018 12:22 PM

Monticello-pre.690

More advances on categorizing all the messages. This time the Monticello classes (except for one class for which I am really unsure what the messages are actually for).

by Patrick Rein (patrick.rein@gmail.com) at December 07, 2018 08:58 AM

December 06, 2018

source.squeak.org

VMMaker.oscog-eem.2491

...and fix the signature of alloca.

by Eliot Miranda (eliot.miranda@gmail.com) at December 06, 2018 11:13 PM

VMMaker.oscog-eem.2490

Tidy up the SerialPlugin. FIx a bug in primitiveSerialPortCloseByName:

by Eliot Miranda (eliot.miranda@gmail.com) at December 06, 2018 11:03 PM

Morphic-kfr.1469

Don't hide the ProjectViewMorph and it's owner when loading

December 06, 2018 08:13 PM

MultilingualTests-pre.37

Similar to the commit in Multilingual, this commit categorizes un-categorized methods and moves tests from testing to tests.

by Patrick Rein (patrick.rein@gmail.com) at December 06, 2018 07:26 PM

Multilingual-pre.242

In the spirit of a more approachable Squeak this commit classifies all unclassified methods in Multilingual and re-categorizes some misplaced methods. There are also two tiny refactorings in this commit.

by Patrick Rein (patrick.rein@gmail.com) at December 06, 2018 07:22 PM

December 05, 2018

source.squeak.org

CollectionsTests-ul.297

Added tests for OrderedSet forged from SetTest and OrderedDictionaryTest.

by Levente Uzonyi (leves@elte.hu) at December 05, 2018 06:12 PM

Collections-ul.812

Simple OrderedSet based on OrderedDictionary's implementation, but the order instance variable is an OrderedCollection, which simplifies a few things and makes #removeFirst and #removeLast O(1) (amortized).

by Levente Uzonyi (leves@elte.hu) at December 05, 2018 06:12 PM

December 04, 2018

source.squeak.org

39Deprecated-Tim Strauß.22

empty log message

December 04, 2018 04:47 PM

December 02, 2018

source.squeak.org

GraphicsTests-mt.50

Fixes categories for point tests. Adds tests for infix rectangle creation.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at December 02, 2018 10:52 AM

Graphics-mt.404

Adds an infix version for Rectangle >> #center:extent: for convenience.

The name #inflate: is subject to discussion. :-)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at December 02, 2018 10:50 AM

60Deprecated-mt.27

Deprecations from Morphic-mt.1468

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at December 02, 2018 10:11 AM

Morphic-mt.1468

Two minor fixes in the realm of BorderedMorph:
1) Fixes a small issue with translucent borders.
2) Deprecates two set* messages.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at December 02, 2018 10:09 AM

squeaksource.com

Chronology-Core-cmm.33

- Provide #asChronologySeconds for compatibility with old Chronology-format applications.
- Let #ticks:offset: account for possibility of DateAndTime's with nil 'offset'.

by Chris Muller (ma.chris.m@gmail.com) at December 02, 2018 02:21 AM

December 01, 2018

squeaksource.com

HV-Divagaciones-edc.36

empty log message

December 01, 2018 09:21 PM

source.squeak.org

ToolsTests-pre.88

Recategorized tests into the tests category (sorry could not resist). No other changes.

by Patrick Rein (patrick.rein@gmail.com) at December 01, 2018 04:30 PM

ToolsTests-pre.87

Refactors the FileContentsBrowserTest to not copy the browser creation and adds a test case for browsing change sets which does not yet show the problematic behavior.

by Patrick Rein (patrick.rein@gmail.com) at December 01, 2018 04:23 PM

Tools-pre.834

A minor refactoring of FileContentsBrowser instance creation methods in preparation of a testing and debugging of missing methods when browsing change set files.

by Patrick Rein (patrick.rein@gmail.com) at December 01, 2018 04:18 PM

VMMaker.oscog-eem.2488

StackInterpreter:
Fix a bug where a reference in a married context in a base frame woudl prevent garbage collection. The same issue is fixed for normal marriage/divorce of contexts, but was not handled in makeBaseFrameFor:. Thanks to Ryan Macnak for identifying both bug and fix.

Fikx a typo. Recategorise some tests and add a test for the iussue above.

by Eliot Miranda (eliot.miranda@gmail.com) at December 01, 2018 12:02 AM

November 30, 2018

squeaksource.com

Ma-Serializer-Core-cmm.341

- Changes to be able to materialize legacy DateAndTime's even after loading Dave Lewis' UTCDateAndTime. This required addition of yet another post-materialization hook, #maPostMaterializeFrom:using:. That hook is called every time (so no need to also implement #maWantsPostMaterialization) with an empty implementation on ProtoObject, so I also don't think we'll need #maPostMaterialize anymore either, since they can now simply implement the new one (and use the arguments or not).
Further, even ones that initialized in #setUpPreAndPostProcessing can use this method.
- This version saves DateAndTime's as a String (as I wish I'd have done from the beginning), making it incompatible with legacy serialized DateAndTime's. I will now attempt another iteration that saves in the legacy format.

by Chris Muller (ma.chris.m@gmail.com) at November 30, 2018 02:43 AM

November 29, 2018

source.squeak.org

ShoutCore-eem.62

Fix a bug in SHMCClassDefinition>>sharedPools that answered nil as the pool for a missing pool, and hence broke khighlighting in the Monticello package browser when browsing older version s with different pool dictionary definitions.

by Eliot Miranda (eliot.miranda@gmail.com) at November 29, 2018 10:00 PM

November 22, 2018

squeaksource.com

ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.120

add the main repository url (in-place edit of 3.0 baseline)

November 22, 2018 06:07 PM

November 20, 2018

squeaksource.com

ParrotTalk-rww.25

Added states and #processXXX: methods for Hello_v3_7 and Response_v3_7 in the protocol selector. Preparation to support v3.7 without the protocol negotiation messages, creating an implicit 3-message handshake based upon ASN1 decoding of the specified header.

by Alan Pinch (alan.c.pinch@gmail.com) at November 20, 2018 06:42 AM

ParrotTalk-rww.25

Added states and #processXXX: methods for Hello_v3_7 and Response_v3_7 in the protocol selector. Preparation to support v3.7 without the protocol negotiation messages, creating an implicit 3-message handshake based upon ASN1 decoding of the specified header.

by Robert Withers (robert.withers@protonmail.com) at November 20, 2018 06:42 AM

ParrotTalk-rww.24

reorg of standard messages to PT-base

by Alan Pinch (alan.c.pinch@gmail.com) at November 20, 2018 03:56 AM

ParrotTalk-rww.24

reorg of standard messages to PT-base

by Robert Withers (robert.withers@protonmail.com) at November 20, 2018 03:56 AM

PlotMorph-cmm.33

Merge cmm.31 and cmm.32.

by Chris Muller (ma.chris.m@gmail.com) at November 20, 2018 12:35 AM

November 19, 2018

squeaksource.com

Raven-rww.25

refactor

by Robert Withers (robert.withers@protonmail.com) at November 19, 2018 01:42 PM

Raven-rww.25

refactor

by Alan Pinch (alan.c.pinch@gmail.com) at November 19, 2018 01:42 PM

ParrotTalk-rww.23

added and integrated ParrotTalk-v3.7, with a SessionProtocolSelector that distinguishes between v3.6 and v3.7, then manipulates the stack to install the correct SessionOperations for each version.

by Alan Pinch (alan.c.pinch@gmail.com) at November 19, 2018 01:40 PM

ParrotTalk-rww.23

added and integrated ParrotTalk-v3.7, with a SessionProtocolSelector that distinguishes between v3.6 and v3.7, then manipulates the stack to install the correct SessionOperations for each version.

by Robert Withers (robert.withers@protonmail.com) at November 19, 2018 01:40 PM

November 18, 2018

squeaksource.com

Chronology-Core-dtl.32

Fix slip in DateAndTime class>>ticks:offset:, do not ignore the offset value.

by Dave Lewis (lewis@mail.msen.com) at November 18, 2018 03:24 PM

JSON-edc.41

completing how to read a Json object

November 18, 2018 11:19 AM

JSON-edc.40

Added how to read a Json object

November 18, 2018 11:15 AM

WASM-edc.24

empty log message

November 18, 2018 10:59 AM

November 17, 2018

squeaksource.com

Ma-Installer-Core-cmm.104

OSProcess moved to be as a dependency of #base (a.k.a., Ma-Core) since it has become generally useful at that level (e.g., DirectoryEntryFile>>#linuxPermissions).

by Chris Muller (ma.chris.m@gmail.com) at November 17, 2018 07:24 PM

Raven-rww.24

switched to using doesFrameEmbedding for thunks.

by Alan Pinch (alan.c.pinch@gmail.com) at November 17, 2018 02:59 PM

Raven-rww.24

switched to using doesFrameEmbedding for thunks.

by Robert Withers (robert.withers@protonmail.com) at November 17, 2018 02:59 PM

ParrotTalk-rww.22

switched thunk doesPop and doesPush over to doesFrameEmbedding, a better description of how frames are nested than pop/push, protocol used with the stack thunks.

by Alan Pinch (alan.c.pinch@gmail.com) at November 17, 2018 02:57 PM

ParrotTalk-rww.22

switched thunk doesPop and doesPush over to doesFrameEmbedding, a better description of how frames are nested than pop/push, protocol used with the stack thunks.

by Robert Withers (robert.withers@protonmail.com) at November 17, 2018 02:57 PM

November 16, 2018

squeaksource.com

Raven-rww.23

refactored ParrotThunkMaker

by Robert Withers (robert.withers@protonmail.com) at November 16, 2018 05:04 PM

Raven-rww.23

refactored ParrotThunkMaker

by Alan Pinch (alan.c.pinch@gmail.com) at November 16, 2018 05:04 PM

ParrotTalk-rww.21

added default pop substqack return in #popStackUpTo:

by Alan Pinch (alan.c.pinch@gmail.com) at November 16, 2018 05:03 PM

ParrotTalk-rww.21

added default pop substqack return in #popStackUpTo:

by Robert Withers (robert.withers@protonmail.com) at November 16, 2018 05:03 PM

Raven-rww.22

Due to the addition of the SendFramesBuffer, replacing the BufferListLayer, now a fully formed stack can be created on the call side, with the RavenTerminal pushed on top of the Session, still supporting early message sending prior to full connection. On the answer side, the creating of the scope creates the RaveenTerminal but it is not yet pushed. That occurs in reactToSession:, which ensures the head of the stack is not the RavenTerminal thunk, priot to pushing on top of the Session.

by Alan Pinch (alan.c.pinch@gmail.com) at November 16, 2018 01:39 AM

Raven-rww.22

Due to the addition of the SendFramesBuffer, replacing the BufferListLayer, now a fully formed stack can be created on the call side, with the RavenTerminal pushed on top of the Session, still supporting early message sending prior to full connection. On the answer side, the creating of the scope creates the RaveenTerminal but it is not yet pushed. That occurs in reactToSession:, which ensures the head of the stack is not the RavenTerminal thunk, priot to pushing on top of the Session.

by Robert Withers (robert.withers@protonmail.com) at November 16, 2018 01:39 AM

ParrotTalk-rww.20

Refactored the stack to use a SendFramesBuffer thunk so mjessages can be sent to the connection immediately and are buffered until connection completes. Due to the possibility that there are thunks above the session, as is now the case with Raven, added behavior to #popStackUpTo: to pop a substack of thunks to a specified thunk, as well as a #pushStack:, using #reverse, to push a substack of thunks onto the receiving stack. This behavior allows a stack gaining crypto thunks to pop stack to the session, then pop the SendFramesBuffer thunk, then add the crypto thunks (immigration, cipher, customs, encoder) then push the substack including session back onto the subject stack and then flush the buffer thunk downcall: through the session. Renamed the FrameBuffer to ReceivingFrameBuffer.

by Alan Pinch (alan.c.pinch@gmail.com) at November 16, 2018 01:33 AM

ParrotTalk-rww.20

Refactored the stack to use a SendFramesBuffer thunk so mjessages can be sent to the connection immediately and are buffered until connection completes. Due to the possibility that there are thunks above the session, as is now the case with Raven, added behavior to #popStackUpTo: to pop a substack of thunks to a specified thunk, as well as a #pushStack:, using #reverse, to push a substack of thunks onto the receiving stack. This behavior allows a stack gaining crypto thunks to pop stack to the session, then pop the SendFramesBuffer thunk, then add the crypto thunks (immigration, cipher, customs, encoder) then push the substack including session back onto the subject stack and then flush the buffer thunk downcall: through the session. Renamed the FrameBuffer to ReceivingFrameBuffer.

by Robert Withers (robert.withers@protonmail.com) at November 16, 2018 01:33 AM

November 15, 2018

squeaksource.com

System.V3-dtl.1045

Name: System-eem.1045
Author: eem
Time: 31 October 2018, 3:38:52.935624 pm
UUID: aece8105-e853-4c18-a38e-6872b4cd1440
Ancestors: System-fn.1044

Sort by name within bins when printing the results of a SpaceTally.

by Dave Lewis (lewis@mail.msen.com) at November 15, 2018 03:36 AM

System.V3-dtl.1044

Name: System-fn.1044
Author: fn
Time: 15 October 2018, 10:11:52.454872 am
UUID: 1339fe15-c8ba-4e80-86ff-eb58ad8ffb56
Ancestors: System-pre.1043

Fixes dot inconsistency.

by Dave Lewis (lewis@mail.msen.com) at November 15, 2018 03:34 AM

Collections.V3-dtl.807

Name: Collections-ul.807
Author: ul
Time: 22 October 2018, 9:27:33.883624 pm
UUID: c2efe147-56f8-43ff-a08b-f42390390418
Ancestors: Collections-eem.806

- introduced KeyedSet >> #put: which works like #add:, but replaces existing objects with the argument as Dictionary's #at:put: does
- unified the usage of primitiveStringHash by adding it to ByteSymbol and by using String's implementation as fallback, which works for ByteArrays too

by Dave Lewis (lewis@mail.msen.com) at November 15, 2018 02:25 AM

Compiler.V3-dtl.395

Name: Compiler-eem.395
Author: eem
Time: 15 October 2018, 12:37:16.203042 pm
UUID: 2f7c8f3a-4e2d-413b-8651-b05b5683f89d
Ancestors: Compiler-eem.394

Implement markerOrNil: for the SistaV1 bytecode set and firm up both implementations so that e.g.
aMethod
self fooClass new
is not interpreted as a marker method (because #new is a special selector and hence does not cayse a literal to be allocated).

by Dave Lewis (lewis@mail.msen.com) at November 15, 2018 02:22 AM

November 12, 2018

squeaksource.com

Ma-Client-Server-Core-cmm.286

Update for new OSProcess convenience method.

by Chris Muller (ma.chris.m@gmail.com) at November 12, 2018 11:09 PM

Balloon3D-Plugins-eem.15

Simplify b3dInitializeRasterizerState, reducing the number of primitiveFailed calls and eliminating cCode:'s. Make B3D_NO_ERROR a class var.

by Eliot Miranda (eliot.miranda@gmail.com) at November 12, 2018 01:35 AM

November 11, 2018

squeaksource.com

Chronology-Core-dtl.31

Let DateAndTime>>asSeconds answer an integer count of seconds, and provide #asExactSeconds to answer seconds since Squeak epoch with available precision retained. An integer seconds count for #asSeconds is consistent with expected usage, and #asExactSeconds represents exact duration as measured in seconds. Thus:

| aDateAndTime |
aDateAndTime := DateAndTime now.
aDateAndTime = (DateAndTime fromSeconds: aDateAndTime asExactSeconds). "==> true"
aDateAndTime = (DateAndTime fromSeconds: aDateAndTime asSeconds). "==> false"

Also remove unreferenced instance variables from ChronologyConstants. These may have been left over from an early refactoring but have been in Squeak since early days. Remove them now.

by Dave Lewis (lewis@mail.msen.com) at November 11, 2018 10:52 PM

November 10, 2018

squeaksource.com

BabySRE2018-hjh.18

CustomHelp subclass: #SRESqueakReverseEngineering

November 10, 2018 05:07 PM

November 08, 2018

squeaksource.com

Ma-Core-cmm.311

- Feature for creating zips. Use ZipArchive>>#maAddFile:as: instead of #addFile:as:, and the original Linux permissions of the zipped files will be preserved when they're unzipped in the target.
Making this feature required being able to get the Linux permissions of the file, which I don't think is possible through the Squeak VM, so I use a new method, DirectoryEntryFile>>#lsOutput, which uses a new convenience method on OSProcess to scrape from an ls -l listing. Kinda crazy, but it works.

by Chris Muller (ma.chris.m@gmail.com) at November 08, 2018 08:03 PM

November 07, 2018

squeaksource.com

Balloon3D-Math-eem.5

Replace deprecated clone with shallowCopy.

by Eliot Miranda (eliot.miranda@gmail.com) at November 07, 2018 01:24 AM

Balloon3D-Kernel-eem.12

Replace deprecated clone with shallowCopy

by Eliot Miranda (eliot.miranda@gmail.com) at November 07, 2018 01:22 AM

November 03, 2018

squeaksource.com

BabySRE2018-hjh.17

Replace #asOop with #identityHash

November 03, 2018 08:36 AM

October 31, 2018

squeaksource.com

Magma-Client-cmm.736

Deprecation update.

by Chris Muller (ma.chris.m@gmail.com) at October 31, 2018 08:42 PM

Magma-Server-cmm.516

Deprecation update.

by Chris Muller (ma.chris.m@gmail.com) at October 31, 2018 08:42 PM

CryptographyPlugins-eem.14

Pragmatise the plugins.

by Eliot Miranda (eliot.miranda@gmail.com) at October 31, 2018 04:53 PM

BabySRE2018-hjh.16

Added

traceRM:levels:
traceRM:levels:withContext:


SRE Execution Tracer. Object>>traceRM:levels: is like Transcript>>show: with the addition of the oop of the writing object and a dump of the stack to a specified depth.

October 31, 2018 04:41 PM

October 30, 2018

squeaksource.com

WASM-edc.23

a lot of changes

October 30, 2018 11:37 AM

Balloon3D-Plugins-eem.14

Simplify stackLightArrayValue:

by Eliot Miranda (eliot.miranda@gmail.com) at October 30, 2018 12:00 AM

October 29, 2018

squeaksource.com

SandstoneDb-tcj.152

fix SDConcurrentDictionary for Squeak 5.2

October 29, 2018 05:21 AM

October 28, 2018

squeaksource.com

Worlds-sn.69

Worlds package from FONC's tinllizie

October 28, 2018 01:00 PM

WebClient-Monticello-sn.16

empty log message

October 28, 2018 01:00 PM

Temp-sn.1

packages for soon delete

October 28, 2018 01:00 PM