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

May 02, 2021

source.squeak.org

Tests-jar.461

Test #outer in combination with #resignalAs

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at May 02, 2021 07:30 PM

Kernel-jar.1398

Fix a bug in #resignalAs causing an incorrect evaluation of resignalAs in combination with #outer. Complemented with a test in Tests-jar.461 (Inbox)

To illustrate the bug try:

| x |
x:=''.
[
[1/0. x:=x,'1'] on: ZeroDivide do: [:ex | ex outer. x:=x,'2'].
x:=x,'3'
] on: ZeroDivide do: [:ex | ex resignalAs: Notification].
x

answers:
---> '2' currently - incorrect
---> '13' after the fix

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at May 02, 2021 07:29 PM

squeaksource.com

Kernel.V3-dtl.1384

Name: Kernel-nice.1384
Author: nice
Time: 11 April 2021, 7:33:23.487481 pm
UUID: ecb5db19-59bc-45f0-85d3-d9296a936a68
Ancestors: Kernel-mt.1383

Another attempt at fixing #testHandlerFromAction. Unlike previous attempts, this one preserves the expectations of #testHandlerReentrancy.

The solution is to de-activate the handlers as we backtrack the stack, but to reactivate them before performing final exception handling actions (like resuming, resignalling or performing defaultAction). Indeed, those handlers must be able to handle a secondary exception raised in the course of this action.

by Dave Lewis (lewis@mail.msen.com) at May 02, 2021 02:05 PM

source.squeak.org

Kernel-jar.1399

Fix inconsistent implementation of an explicit and an implicit exception return.

I'd like to return to my original proposal in http://forum.world.st/The-Inbox-Kernel-nice-1391-mcz-tp5129040p5129084.html. The problem then was a bug in #outer that confused me. The bug has been fixed and the original proposal in my opinion makes sense again - to unify how the two kinds of exception return are implemented. Theoretically it's possible to change the #return definition in the future and then the two returns would diverge.

May 02, 2021 01:12 PM

May 01, 2021

source.squeak.org

FFI-Tools-mt.22

Adds interface to enumerate fields (name and type) in structure types. Use that interface to show more structure in ObjectExplorer on such types.

I could not really decide on whether to prepend or append those new fields in the object explorer. For a larger structure type, you might have to scroll down to discover the basic "compiledSpec" etc. ...

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 04:32 PM

FFI-Kernel-mt.124

Removes deprecated collection interface from ExternalData.

Nukes unused instVar 'fieldTypes' in structure types. I could not remember what I planned to do with it. Could not find it on squeak-dev either.

Extends print-string for external types with byteSize and byteAlignment. It does not look too noisy. I hope it will help remind programmers about the bytes they are working with. Well, if it becomes too noisy, we could make it a preference.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 04:29 PM

Monticello-ct.746

Fixes and cleans up snapshot creation in MCVersionHistoryBrowser.

Instead of scanning the global repository group for a version, ask the current package for its specific repository group. Make sure to always pass the package. Nuke unused instvar repositoryGroup.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 01:59 PM

Morphic-ct.1769

Make SystemWindow's paneColor more robust against missing models. Avoid translucent color.

May 01, 2021 12:12 PM

Compiler-ct.459

Recategorizes OutOfScopeNotification>>#defaultAction

May 01, 2021 12:01 PM

Tools-mt.1054

Adds preference and means to embed a transcript in workspaces. Thanks to Jaromir (jar) for the idea!

The preference is disabled by default.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 10:06 AM

FFI-Callbacks-mt.10

Maybe, at some point, we will be able to configure blocks as FFI callbacks more conveniently. Here is an example of how to invoke the block with example objects to derive the signature to be used for FFI. (Not working; just a sketch)

May 01, 2021 09:01 AM

FFI-Callbacks-mt.9

Restructure callback examples. Adds a fourth example that sorts integers.

Complements FFI-Kernel-mt.123.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 08:24 AM

FFI-Kernel-mt.123

Given that we usually talk to external types or external structures (and unions ...) where #allocate: is the current pattern to prepare a list of such things, use #allocateExternal: to allocate external memory, not internal object memory.

While this conflicts with ExternalAddress class #allocate:, clients might not notice because they should usually not deal with the difference between handles being either ByteArray or ExternalAddress (or atomics). I suppose.

Let #free for handles being ExternAdress also null that address. Maybe we could establish a common prototype for a null-address?

(Removes duplicate #isExternalAddress.)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 08:22 AM

FFI-Callbacks-mt.8

In callbacks. resolve one level of indirection so that callbacks can directly work with atomic values or instances of external structures.

This might conflict with the current lack of support for n-ary pointer types.

May 01, 2021 07:32 AM

FFI-Callbacks-mt.7

Fixes regression. I forgot to resolve materialize pointers from integers when reading intRegArgs.

(For debugging, adds #mostRecent shortcut to FFICallbackContext class.)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 07:06 AM

FFI-Callbacks-mt.6

Adds register lookup for dynamic callback evaluation. Based on the assumption that a callback context is only used once per callback.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 06:27 AM

FFI-Kernel-mt.122

Adds check to separate integer types from float types. There already is #isIntegerType. For example, callback handles can use this to choose between integer-registers and float-registers easily based on argument types.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 06:25 AM

Morphic-ct.1768

Fixes a GrafPort bug when drawing round rectangle frames. In the past, the horizontal segments were too wide.

Original snippet to reproduce (provided by Marcel, mt):

morph := Morph new.
morph
extent: 500@500;
borderWidth: 50;
borderColor: Color red;
cornerStyle: #rounded;
cornerRadius: 20;
yourself.
morph openInHand.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 01, 2021 05:09 AM

April 30, 2021

source.squeak.org

KernelTests-nice.403

Add two tests for isDenormal and isFinite

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 30, 2021 08:07 PM

Kernel-nice.1391

Remove the questionable ifCurtailed: block that did reactivate the handler in handleSignal:, and make the handling symetric, whether the handlerAction explicitily use exception return or not.

Document the mysterious tempAt:/tempAt:put: intention by using proper method names as requested by Marcel.
The slowdown shall be marginal, and system understanding should be improved.

Provide messages to selectively reactivate some handler contexts. For gurus: handle with care!

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 30, 2021 07:49 PM

April 27, 2021

source.squeak.org

ToolBuilder-Kernel-nice.143

Evaluate the new work block upon #sendNotificationsTo: in the context that sent the ProgressInitiationException signal

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 27, 2021 11:59 AM

ToolBuilder-Kernel-nice.144

Fix ProgressInitiationException>>sendNotificationsTo: so that:
- the ProgressInitiationException remains inactive during workBlock evaluation
- unlesse explicitely rearmed
- active inner handlers remain active during workBlock evaluation

For the last goal, it is necessary to first resume, then evaluate the workBlock, hence usage of #resumeEvaluating:
This goes with Kernel-nice.1394 which implements this method as well as upgraded signal handling.

But if we resume, then we also reactivate current handler.
Generally, we do not want to reactivate current handler, unless explicit rearmHandlerDuring:, thus the intricated activate/deactivate dance.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 27, 2021 11:51 AM

April 26, 2021

source.squeak.org

MorphicExtras-mt.295

Sorry for the noise. :-)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 01:08 PM

MorphicExtras-mt.294

Adds missing example for moving-eye morph.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 01:08 PM

HelpSystem-Core-ct.117

Convenience method for subtopic lookup

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 01:05 PM

HelpSystem-Core-ct.118

HelpBrowser: Add + refactor instance creation methods

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 01:05 PM

HelpSystem-Core-ct.119

Adds a simple menu to HelpBrowser (inspect + explore topic)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 01:05 PM

HelpSystem-Core-ct.120

Adds browse entry into the HelpBrowser menu

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 01:05 PM

HelpSystem-Core-ct.122

Refines accepting text in HelpBrowser

- Revise use of #clearUserEdits and isUpdating
- Use the right #accept: return pattern (Boolean or False)
- Catch an edge case when you try to write something into a nested ClassBasedHelpTopic
- Mark saved methods with a #generated pragma; ask user before overwriting non-auto-generated methods to avoid discarding manual code (such as in SqueakToolsDebuggerHelp>>#usingTheDebugger)

Depends on Tools-ct.894.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 01:05 PM

HelpSystem-Core-ct.123

Refactors HelpBrowser menu: Move menu stuff from HelpBrowser into HelpTopic hierarchy in favor of a better object design

Thanks again, Marcel :-)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 01:05 PM

Tools-mt.1045

Tweak browser re-use to only consider the current class if that new browser does not care, which is the case for ivoking browsers from the smart search.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 07:56 AM

Morphic-mt.1761

Avoid reusing a window if it is the requesting window. This is useful for the "browse" button in the system browser or even for the "hierarchy" button in the hierarchy browser if the hierarchy is the same. A common yet simple way to duplicate a window without using a halo. Since this is an explicit user interaction, it is not expected to interfere with the "re-use windows" preference. I suppose. :-)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 07:45 AM

Tools-mt.1044

Complements Morphic-mt.1760.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 07:13 AM

Morphic-mt.1760

Fixes a regression for "re-use windows" in smart search. Thanks Christoph (ct)!

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 26, 2021 07:10 AM

ToolBuilder-Kernel-nice.142

Attempt to allow nested sendNotificationsTo: handling.
Requires Kernel-nice.1391.

The idea is that the handler shall not be active during the handlerAction. But still, we want he inner handlers to be active as was the case with former exception handling.

Please write TestCase documenting expectations and review if this can possibly fit.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 26, 2021 12:17 AM

ToolBuilder-Tests-jr.6

Test that progress exceptions do not interfere with other exception handlers.

At the time of this writing, this is broken in Squeak Trunk because too many handlers are reactivated.

Related versions:
- ToolBuilder-Kernel-nice.141
- ToolBuilder-Kernel-nice.142

Between the recent exception handler changes and the .141 version above, too few handlers were reactivated.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 26, 2021 12:09 AM

April 25, 2021

source.squeak.org

Tests-jr.457

Test case for precise handler reactivation when nested exceptions are signalled and resumed.

At the moment of writing this, this is broken in Squeak Trunk and the test case would run endlessly if there were no timeout. The reason is that the inner error handler is reactivated when the signal emitted by it is resumed.

Related versions:
- Kernel-nice.1384
- Kernel-nice.1391
- ToolBuilder-Kernel-nice.141
- ToolBuilder-Kernel-nice.142

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 25, 2021 11:53 PM

Tests-jr.456

Test case for precise handler reactivation when nested exceptions are signalled.

At the moment of writing this, this is broken in Squeak Trunk and the test case would run endlessly if there were no timeout. The reason is that the inner error handler is reactivated when the signal emitted by it is resumed.

Related versions:
- Kernel-nice.1384
- Kernel-nice.1391
- ToolBuilder-Kernel-nice.141
- Kernel-nice.142

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 25, 2021 11:53 PM

Kernel-nice.1394

Revise exception handling so as to
- inactivate inner handler blocks when the exception is signalled in an outer handler
- except when the inner handler has been explicitely rearmed (see rearmHandlerDuring:)

Implementation notes: add a marker <primitive: 199> to handleSignal:, so as to detect the case when an exception is signalled within the execution of a handler block.

This induces a subtle difference:
- findNextHandlerContext might now return a handleSignal: context,
- while nextHandlerContext will only return a on:do: context (or nil).

The new workhorse for finding the proper handler is now #nextHandlerContextForSignal:
It finds and answers the (handler) context that will handle the exception, but if it finds a handleSignal: during the scan, it will restrict the search to rearmed handlers, until it reaches the handler of prior exception, at which step it continues to search normally.

Due to the scanning of inner blocks, we still need a marker for blocking re-entrancy (handlerActive temp in on:do:), but also a marker for rearmed blocks (handlerRearmed in on:do:). This can't be the same marker: an example is testHandlerReentrancy: when the rearmed inner handler pass the exception to its outer handler, the outer handler must still be inactive if it raised the Exception.

Borrow resumeEvaluating: to Cuis and use it in resignalAs:

Use many small methods in order to make the intention more explicit than with those mysterious tempAt: tempAt:put:

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 25, 2021 11:50 PM

April 17, 2021

source.squeak.org

MorphicExtras-ct.294

Make proper use of DisplayScreen >>#restoreAfter: in SketchMorph examples.

April 17, 2021 12:51 PM

MorphicTests-mt.78

Tweak test-specific hand to log ignored events to support debugging failing tests.

Complements Morphic-mt.1754

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 17, 2021 12:34 PM

Morphic-mt.1754

For event filters, dispatch #ignore through the event's current hand as a way to inform that hand such as in test for logging, which helps debugging and understanding the flow of events.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 17, 2021 12:33 PM

MorphicTests-mt.77

Quick fix for #test03EventHandler.

Note that we might want to extract that "reset pattern", which I employed in several test cases already, into TestCase for all tests to use.

Also note that I will start an extra discussion about whether the blue button should be exclusive for the halo or whether morphs should be able to override this.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 17, 2021 12:04 PM

MorphicExtras-eem.293

Add frame buffering to the CameraInterface (i.e. if possible the CameraPlugin copies data directly into a pinned bitmap instead of into an internal buffer which is then copied into the bitmap in getFrameForCamera:into:. Update the camera:framesDo:while: utility to use buffering and/or interrupt notification if possible.

by Eliot Miranda (eliot.miranda@gmail.com) at April 17, 2021 02:14 AM

April 16, 2021

squeaksource.com

WebCounter-rzm.1

empty log message

by Ryan (ryanmarion012@gmail.com) at April 16, 2021 10:30 PM

source.squeak.org

ToolsTests-nice.103

WeakSetInspectorTest>>testSymbolTableM6812 times out.
Be more generous (at the cost of more time spent in tests...).
Ideally we should seek an acceleration of the test, fast tests are good tests.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 16, 2021 09:03 PM

Tests-nice.454

Use SyntaxErrorNotification>>retryWithNewSource: rather than resume:

This better document the intention (rather than the implementation).

Note that resume: will no longer tryNewSourceIfAvailable, it will just act as super, that is return its argument to the sender of signal.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 16, 2021 08:39 PM

Tools-nice.1041

Fixup copy/paste slip in stackTopTranslated

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 16, 2021 08:35 PM

Compiler-nice.457

Rename resume: source -> retryWithNewSource: source.

The purpose of such exception handling is indeed to retry the compilation with new source.

The purpose of resume: anObject is to return anObject to the context that sent signal, that's a slightly different semantic.

It happens that if we resume after setting newSource, the signaller (Parser>>notify:at:) will effectively then tryNewSourceIfAvailable.
So effectively, resuming will end up in retrying (if there is a handler of ReparseAfterSourceEditing up the sender stack, but the Parser normally puts one).

But, even if this is HOW we implement the #retryWithNewSource:,
this is not WHAT we wish to ask to the SyntaxErrorNotification.
in other words, we shouldn't let the implementation leak in the semantics, otherwise we put the burden of understanding the implementation on the shoulders of programmers, when they could just have trusted the semantics of pseudo natural language offered by keywords.

While at it, remove the accessors of newSource.
They are not used and may be considered private.
This will reduce the unecessary polymorphism.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 16, 2021 08:19 PM

Kernel-nice.1389

Fix missing reactivation of handlers upon resume;

It is the responsibility of handling actions to rearm the handlers that have been disabled during the search of active handler.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 16, 2021 07:42 PM

squeaksource.com

PostgresV3-Core-ul.35

- PG3Connection >> #isConnected shouldn't raise an error

by Levente Uzonyi (leves@elte.hu) at April 16, 2021 06:11 PM

source.squeak.org

Morphic-mt.1753

Removes dialog interaction from update stream for the sake of CI.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 16, 2021 04:35 PM

Morphic-ct.1586

Proposal: Style printIt results as a pluggable link that can be clicked to inspect the result.

To enable this behavior, this commit also extends #insertAndSelect:at: to allow for inserting both strings and texts.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 16, 2021 03:21 PM

Morphic-ct.1585

TextEditor: Don't change the cursor position after a text action has been performed. This keeps a possible selection stable after you, for example, followed a link.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 16, 2021 03:21 PM

Collections-mt.943

Complements Morphic-mt.1752

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 16, 2021 03:15 PM

Morphic-mt.1752

Merges fixes and enhancements for TextEditor from Morphic-ct.1585, Morphic-ct.1586.

Tweaks the proposed interactive print-it as follows:
- Make it a preference, ask for it during code loading
- Do not copy the (interactive) text action to avoid spreading object references (depends on Collections-mt.941)
- for the print-it text, append an extra space with the original emphasis to support type-in
- do not style obvious "store strings" such as strings and numbers

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 16, 2021 03:13 PM

April 15, 2021

source.squeak.org

VMMaker.oscog-eem.2955

Settle on Global Incremental GC for the name of the
Spur incremental collector/compactor.

by Eliot Miranda (eliot.miranda@gmail.com) at April 15, 2021 07:16 PM

Compiler-ct.418

Small refactoring: Use SmalltalkImage >> #at:ifPresent:ifAbsent:.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 15, 2021 05:39 PM

EToys-mt.442

Complements MorphicExtras-mt.292

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 15, 2021 02:55 PM

MorphicExtras-ct.284

Makes AnimatedImageMorph delays publicly accessible. In contrary to e.g. nextTime, delays are an essential part of an animated image, for instance when converting it into a different representation from an external client.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at April 15, 2021 02:55 PM

squeaksource.com

Preserves-tonyg.14

PreservesReader >> upToEnd

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at April 15, 2021 07:25 AM

April 14, 2021

squeaksource.com

SBE-Quinto-Heiko.V01

empty log message

by Heiko (heikos@online.de) at April 14, 2021 07:25 PM

April 10, 2021

source.squeak.org

Collections-fbs.558

No #confirmFirstUseOfStyle means we can remove this.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 10, 2021 01:37 PM

Regex-Tests-Core-ct.11

Adds regression test for capturing-like behavior of lookaround expressions

See also: http://forum.world.st/The-Inbox-Regex-Core-ct-56-mcz-tp5113011p5114971.html

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 10, 2021 01:20 PM

Regex-Core-ct.58

Fixes capturing-like behavior of lookaround expressions. Complements Regex-Tests-Core-ct.11.

Thanks to Levente (ul) for the bug report! [1]

[1] http://forum.world.st/The-Inbox-Regex-Core-ct-56-mcz-tp5113011p5114971.html

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 10, 2021 01:19 PM

NetworkTests-ct.61

Document bug in FileUrl >> #retrieveContents. A fix is arriving soon at the inbox!

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 10, 2021 01:18 PM

Network-ct.244

Fixes FileUrl >> #retrieveContents which did not work for certain contentTypes because of an intermediary invalid content specification. See NetworkTests-ct.61 (inbox).

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 10, 2021 01:16 PM

April 09, 2021

source.squeak.org

Environments-jr.82

Sending resume: from defaultAction is erroneous in the ANSI standard.

In Squeak, unhandled exceptions are resumed with the answer to the defaultAction message.

April 09, 2021 10:34 PM

April 08, 2021

source.squeak.org

MonticelloConfigurations-ct.167

Improves backward compatibility of MonticelloConfigurations-ct.166 for Squeak 5.2.

April 08, 2021 08:59 PM

MonticelloConfigurations-ct.166

Adds support in MCMcmUpdater to install updates up to a specified system version number. This can be helpful when you want to bring an image into an exact state of an alpha version. I.e., a bug report or a tool can refer to Squeak6.0 Alpha #19570. Now it's possible to bring your 5.3 image into this state by evaluating:

MCMcmUpdater default doUpdate: true upToUpdate: 19570.

Still, it is possible to install all updates or navigate forward to a certain upstream version using the existing protocol:

MCMcmUpdater default doUpdate: true.
MCMcmUpdater default doUpdate: true upTo: 470.

Detailed changelog (anticlimax):

- Added 'upToUpdate:' variant of update selectors on MCMcmUpdater.
- Refactored existing update selectors to deduplicate the logic for doing a complete update (#doUpdate: etc.) versus installing all updates up to an upstream version (#doUpdate:upTo: etc.).
- Added #currentSystemVersion and #totalSystemVersion on MCConfiguration to determine the current resp. eventual system version as implied by the update stream.
- Renamed (+ deprecated) #depsSatisfying:version(s)Do:displayingProgress: due to misleading use of singular in the block keyword.
- Improved multilingual support for the updater.
- Improved documentation of the update protocol.

Note that in some situations, a small number of follow-up updates will be installed that go beyond the specified system version number. This is caused by interdependencies between the target version and its postdecessors when a definiton was moved from one package into another one. See sender of MCReorganizationPreloader.

April 08, 2021 08:30 PM

April 07, 2021

source.squeak.org

EToys-nice.438

Nuke usage of #parserClass: because redundant with definition of ScriptCompiler class>>parserClass.

Fix evaluate:in:to:notifying:ifFail:logged:
(self parser) already answers an instance,
(self parser new) fails.

Simplify:
ScriptCompiler new parserClass new
-> ScriptCompiler newParser

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at April 07, 2021 06:40 PM

March 31, 2021

source.squeak.org

KernelTests-jar.395

complementing Kernel-jar.1384 (The Inbox)

March 31, 2021 09:14 PM

Kernel-jar.1384

Fixes current implementation ignoring some nested unwind blocks in common situations. Explained and documented in http://forum.world.st/Another-bug-in-Process-terminate-in-unwinding-contexts-tp5128171p5128178.html

A test follows.

March 31, 2021 09:11 PM

Collections-ul.933

- use #ofSize: instead of #new: in SequenceableCollection class >> new:streamContents:, so that it creates a stream on a non-empty collection even if the receiver is OrderedCollection.

by Levente Uzonyi (leves@caesar.elte.hu) at March 31, 2021 12:18 AM

Collections-ul.932

- use #grownBy: in WriteStream >> #growTo: to grow the collection because that works for OrderedCollections too.
- do not add 10 to the argument passed to WriteStream >> #growTo:. It will already increase its argument by at least 20.

by Levente Uzonyi (leves@caesar.elte.hu) at March 31, 2021 12:18 AM

March 30, 2021

squeaksource.com

Kernel.V3-dtl.1383

Name: Kernel-mt.1383
Author: mt
Time: 26 March 2021, 12:51:18.904073 pm
UUID: 524a87b1-28d6-f044-8a9a-4ca045211ac1
Ancestors: Kernel-ct.1382

Merges Kernel-ct.1382

by Dave Lewis (lewis@mail.msen.com) at March 30, 2021 10:54 PM

Kernel.V3-dtl.1382

Name: Kernel-ct.1382
Author: ct
Time: 15 March 2021, 1:52:03.249869 pm
UUID: e108423f-661f-4d4f-9ad8-c667c3995b32
Ancestors: Kernel-mt.1381

Proposal: Revises usage and handling of primitive 19, also known as the simulation guard. Don't use it in #newProcess and variants since they don't involve any actual control logic. Instead, also show a simulation warning when debugging a control primitive (primitiveSignal primitiveWait primitiveResume primitiveSuspend). Improves integration of simulation guard warnings by signaling a Warning on the simulator stack rather than spawning a debugger on the debugged process. This also makes it easier to handle these warnings in a non-interactive context. See http://forum.world.st/Simulation-guard-lt-primitive-19-gt-crashes-the-image-td5127443.html and http://forum.world.st/Please-try-out-Fixes-for-debugger-invocation-during-code-simulation-td5127684.html for more information.

Reuploaded to resolve merge conflict with Kernel-mt.1381. Replaces Kernel-ct.1381, which can be moved into the treated inbox.

by Dave Lewis (lewis@mail.msen.com) at March 30, 2021 10:53 PM

System.V3-dtl.1224

Name: System-tonyg.1224
Author: tonyg
Time: 29 March 2021, 10:15:02.279821 am
UUID: 9d897d72-46fc-4205-a27b-89c7a50ac104
Ancestors: System-mt.1223

Teach SystemOrganizer about multiple environments.

by Dave Lewis (lewis@mail.msen.com) at March 30, 2021 10:50 PM

System.V3-dtl.1223

Name: System-mt.1223
Author: mt
Time: 26 March 2021, 12:36:58.297513 pm
UUID: a5df7ebb-e1e7-304c-85e5-61d01132f0bd
Ancestors: System-mt.1222

Adds hook to browse environments.

by Dave Lewis (lewis@mail.msen.com) at March 30, 2021 10:43 PM

source.squeak.org

Chronology-Core-dtl.66

Let "1 second" be a synonym for "1 seconds" so that "5 second" does not answer one second. Likewise for minute, hour, etc.

by David T. Lewis (lewis@mail.msen.com) at March 30, 2021 07:39 PM

Chronology-Tests-dtl.25

Expect that "1 second" should be a synonym for "1 seconds" so that "5 second" does not answer one second. Likewise for minute, hour, etc.

by David T. Lewis (lewis@mail.msen.com) at March 30, 2021 07:39 PM

March 29, 2021

squeaksource.com

Preserves-tonyg.5

Repair class-side initialize.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at March 29, 2021 01:59 PM

Snarl-tonyg.9

Repair class-side initialize.

March 29, 2021 01:58 PM

BitSyntax-Examples-tonyg.7

Repair class-side initialize.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at March 29, 2021 01:57 PM

source.squeak.org

Environments-tonyg.81

Repair EnvironmentRequest signal.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at March 29, 2021 08:23 AM

Environments-tonyg.80

Take advantage of System-tonyg.1224, which teaches SystemOrganizer about environments.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at March 29, 2021 08:23 AM

System-tonyg.1224

Teach SystemOrganizer about multiple environments.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at March 29, 2021 08:23 AM

squeaksource.com

Preserves-tonyg.4

Schema compiler

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at March 29, 2021 06:58 AM

March 22, 2021

squeaksource.com

OSProcess-dtl.124

Minor compatibility update to allow a test to run on Cuis

by John-Reed Maffeo (jrmaffeo@gmail.com) at March 22, 2021 04:24 PM

OTAR-jrm.11

Re-syncing development images on Pi-4 and Pi-3. This version, running on Pi-4, is on a 1 hour loop and producing fair results. Priority sifting needs work.

I am going to start working on Pi-3 and I will have to figure out how to migrate changes to Pi-3

by John-Reed Maffeo (jrmaffeo@gmail.com) at March 22, 2021 04:24 PM

March 21, 2021

squeaksource.com

Compiler.V3-dtl.455

Name: Compiler-tobe.455
Author: tobe
Time: 11 March 2021, 1:50:12.615385 pm
UUID: ba3e2f61-8c2a-4dcf-a288-f6e81db4eda1
Ancestors: Compiler-codefrau.454

Fix scanAllTokenPositionsInto: when the text of a comment happened to appear just before it. See testScanTokensRepeatComment for an example.

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

System.V3-dtl.1222

Name: System-mt.1222
Author: mt
Time: 15 March 2021, 11:20:11.977586 am
UUID: 6148616b-707b-654f-8306-990a1e3f3bf6
Ancestors: System-mt.1221

Complements Kernel-mt.1381

Fixes for debugger invocation during code simulation. See http://forum.world.st/Please-try-out-Fixes-for-debugger-invocation-during-code-simulation-td5127684.html

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

System.V3-dtl.1221

Name: System-mt.1221
Author: mt
Time: 5 March 2021, 9:30:06.646653 am
UUID: faeeebfe-1564-e743-8e5a-8c26460ca3ad
Ancestors: System-mt.1220, System-ct.1220

Merge.
> Adds Jaromir Matas (jar) to the authors list. A late welcome aboard! :

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

System.V3-dtl.1220

Name: System-mt.1220
Author: mt
Time: 4 March 2021, 1:35:25.601178 pm
UUID: d5324489-3128-a944-a52b-faf8d4c8ef23
Ancestors: System-mt.1219

Squeak was migrated from travis-ci.org to travis-ci.com. The former will be shutting down soon.

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

Collections.V3-dtl.931

Name: Collections-dtl.931
Author: dtl
Time: 11 March 2021, 5:44:43.577146 pm
UUID: 1ed239e3-d108-43c3-8b6e-de8c43d842d1
Ancestors: Collections-nice.930

Set logic methods should be discoverable, so give them a method category. Add an implementation of Collection>>symmetricDifference: so that the basic set operations of union, intersection, difference, and symmetric difference are available.

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

Collections.V3-dtl.930

Name: Collections-nice.930
Author: nice
Time: 8 March 2021, 3:46:35.811868 pm
UUID: 923d86a7-1d60-4d7f-975a-c20e365efc5a
Ancestors: Collections-nice.929

Fix my horrible bug before it gets noticed **Blush**

I stupidely tested against Array (good) with #yourself as the collect: block (bad idea!)

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

Collections.V3-dtl.929

Name: Collections-nice.929
Author: nice
Time: 4 March 2021, 6:55:05.090663 pm
UUID: 6e327843-eedc-4eeb-ba1b-0e14d4f40e56
Ancestors: Collections-nice.928

Don't hardcode Interval and LimitedPrecisionInterval so as to enable subclassing.

Note: a subclass wanting to handle limited precision bounds or increment by itself should define:

limitedPrecisionSpecies
^self.

This is not the case of TextLineInterval that only ever see Integer bounds.

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

Collections.V3-dtl.928

Name: Collections-nice.928
Author: nice
Time: 3 March 2021, 3:29:05.70662 pm
UUID: ef9658c8-ef7e-a943-8ffc-de7546b29f2f
Ancestors: Collections-nice.927, Collections-nice.634

Merge Collections-nice.634 (Implement replace: in Dictionary)

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

Collections.V3-dtl.927

Name: Collections-nice.927
Author: nice
Time: 3 March 2021, 3:10:15.18162 pm
UUID: a5b8a84d-ad99-754f-8960-88c04b17d8d3
Ancestors: Collections-nice.926

Remaster Collections-nice.869 & Collections-nice.464: opimize RunArray

This should not be noticeable for Text, but as a general library, it's important for any other potential use.

- Move RunArray off ArrayedCollection which serves nothing to such subclass.
- Add the ability to remove: since it already has the hability to addFirst: and addLast:
- Fix a few missing lastIndex cache flush, and advertise about the necessity to do it in class comment.
- prefer replace: to mapValues:, as it is a more generic Collection idiom

Notice that this DOES NOT import one major change of Collections-nice.869:
the enumerating methods like #collect: will continue to iterate on each element, rather than only once per run, so as to preserve side effects.
Thus Collections-nice.869 remains in inbox until larger acceptation occurs.

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

Collections.V3-dtl.926

Name: Collections-nice.926
Author: nice
Time: 3 March 2021, 10:46:01.17162 am
UUID: bb5d2ec0-d044-c54f-9e8a-5442626c7573
Ancestors: Collections-nice.925

Fix LimitedPrecisionInterval>>collect: it should avoid accumulating increments which also accumulates rounding errors and make collect: behavior diverge from do:.

Rather than modifying Interval>>collect:, implement the specific inexact arithmetic handling in specific subclass.

Do the same with do: and reverseDo:. This enables restoring the legacy Interval enumerations which perform only one operation per loop instead of two.

Do not check rangeIncludes: in indexOf:startingAt:. This is useless foe exact Interval, and now redundant for LimitedPrecisionInterval thanks to more carefull implementation of #size.

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

Collections.V3-dtl.925

Name: Collections-nice.925
Author: nice
Time: 3 March 2021, 2:14:13.09562 am
UUID: ee92856e-98d1-3a41-a3f2-3529927e7a02
Ancestors: Collections-jar.924

Distinguish questionable LimitedPrecisionInterval (those with Float bounds or step) from ordinary Interval of Integer, Fraction or ScaledDecimals.

The main interest of having a specific class is to avoid crippling Interval with Float workarounds, for the rare use case.

Explain some of the pitfalls of LimitedPrecisionInterval, and encourage alternatives in class comment, which is a second advantage of having a separate class.

Abandon fuzzy inclusion logic, which is considered to introduce more discrepancies than it tries to solve
See http://bugs.squeak.org/view.php?id=6455.
and method #testSurprisingFuzzyInclusion

Fix two other failing tests for Interval of Floats.

Fix size so that (0.3 to: 1.2 by: 0.1) includes: 1.2.
See https://github.com/dolphinsmalltalk/Dolphin/issues/1108
This makes size a bit less performant than super, a 3rd reason why a specific class is neat.

Huh, that's more comments than code ;).

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

March 20, 2021

squeaksource.com

Kernel.V3-dtl.1381

Name: Kernel-mt.1381
Author: mt
Time: 15 March 2021, 11:19:02.546586 am
UUID: 11976771-8ccb-e941-83da-2ae26c3a9f55
Ancestors: Kernel-mt.1380

Fixes for debugger invocation during code simulation. See http://forum.world.st/Please-try-out-Fixes-for-debugger-invocation-during-code-simulation-td5127684.html

by Dave Lewis (lewis@mail.msen.com) at March 20, 2021 11:58 PM

Kernel.V3-dtl.1380

Name: Kernel-mt.1380
Author: mt
Time: 9 March 2021, 11:40:18.855529 am
UUID: cef64cd0-d892-584e-8bce-6f5dac0202fc
Ancestors: Kernel-eem.1379

Make sure that special object no. 38 is FullBlockClosure.

See discussion at http://forum.world.st/Smalltalk-specialObjectsArray-at-38-tp5125148p5125164.html

by Dave Lewis (lewis@mail.msen.com) at March 20, 2021 11:52 PM

Kernel.V3-dtl.1379

Name: Kernel-eem.1379
Author: eem
Time: 4 March 2021, 6:44:30.30655 pm
UUID: f2d03504-03c9-e747-933d-f16f82d99091
Ancestors: Kernel-eem.1378

Fix terrible regression introduced in Kernel-eem.1378. I do apologize.

by Dave Lewis (lewis@mail.msen.com) at March 20, 2021 11:50 PM

Kernel.V3-dtl.1378

Name: Kernel-eem.1378
Author: eem
Time: 4 March 2021, 3:03:26.648613 pm
UUID: 670311c0-11d4-4449-8c70-61d25280506f
Ancestors: Kernel-nice.1377

Use the class side methods of MouseEvent to compute the (incredibly annoying) conflation of mouse buttons and modifier keys in events. This is a necessary first step in increasing the number of mouse buttons to support modern gaming mice.

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

Kernel.V3-dtl.1377

Name: Kernel-nice.1377
Author: nice
Time: 4 March 2021, 10:10:29.295967 pm
UUID: ddcc60af-76a7-4d50-b5e3-ebf4ff39eb07
Ancestors: Kernel-nice.1376

Fix log2 implementation to make it robust in the neighbourhood of 1.0.

Let aFloat isPowerOfTwo answer true if its value is a power of two. There is no obvious reason nor documentation why it should be false, and the implementation is neat.

Introduce isDenormal to test if a Float is denormalized. A denormalized Float is one with minimal exponent, and significand part gradually loosing significant bits (a.k.a. gradual underflow).

I.O.W, denormals loose precision.
If we would define:

Float>>precision
^(self exponent - Float emin min: 0) + self class precision

Then, we would have
Float fminNormalized precision = Float precision.
Float fminNormalized predecessor = (Float precision - 1).
Float fminDenormalized precision = 1.

by Dave Lewis (lewis@mail.msen.com) at March 20, 2021 11:38 PM

Kernel.V3-dtl.1376

Name: Kernel-nice.1376
Author: nice
Time: 3 March 2021, 12:18:22.91462 am
UUID: c9ee47c3-4e2a-fa4f-9dcd-ed61ababdb73
Ancestors: Kernel-jar.1375

Introduce hasLimitedPrecision which is the way to indicate that arithmetic may be inexact.

by Dave Lewis (lewis@mail.msen.com) at March 20, 2021 11:36 PM

Kernel.V3-dtl.1375

Name: Kernel-jar.1375
Author: jar
Time: 28 February 2021, 1:39:18.242036 pm
UUID: 5fa0cf53-5852-2949-b7f0-a13d8729925b
Ancestors: Kernel-codefrau.1374

Fix Process class >> #forContext:priority: potentially crashing image

by Dave Lewis (lewis@mail.msen.com) at March 20, 2021 11:35 PM

source.squeak.org

Kernel-ct.1384

Patches Process>>#stepToHome: so that stepping through a bottom context that is not a home context works as expected.

Example to reproduce:

p := Process forContext: ([[] ensure: []] asContext) priority: 40.
p debug.

Stepping through the "ensure:" should halt the debugger in the first block, but not inside the #ensure: method.



M Process>>stepToHome:

March 20, 2021 06:38 PM

Kernel-ct.1383

Fixes simulation of the #perform:... primitives 83, 84, and 100 for all edge cases. If the primitive is called with the wrong arguments, the primitive must fail but not the simulator.

For further reference, see also the implementation of primitive 188 (primitiveExecuteMethodArgsArray) just a few lines below. :-)

Tests have been provided in KernelTests-ct.395. Reuploaded to fix mirror variant of primitive 100. Now it's finally possible to debug MirrorPrimitiveTests>>#testMirrorPerform. Replaces Kernel-ct.1367, which can be moved into the treated inbox.

March 20, 2021 06:21 PM

KernelTests-ct.395

Tests simulation of #perform:... primitives 83, 84, and 100. Complements Kernel-ct.1367. Reuploaded to add another fixture for the mirror primitive variant of primitive 100. Corrected order of assertion arguments.

Replaces KernelTests-ct.38{2,3}, which can be moved into the treated inbox.

Depends indeed not only on KernelTests-mt.394 but also on KernelTests-ct.375, it would be nice if we could get the latter merged soon, this has already been causing too many merge conflicts in the past. :-)

March 20, 2021 06:17 PM

VMMaker-dtl.423

VMMaker 4.19.6 restore support for objects as methods.
Extend the internal size of primitiveTable beyond MaxPrimitiveIndex and reinstall primitiveInvokeObjectAsMethod in the protected region. Allows invocation from lookupMethodInDictionary without exposing the method to the image as a numbered primitive. Also clean up a duplicate currentByteCode in class Interpreter declaration, not sure how that happened.

by David T. Lewis (lewis@mail.msen.com) at March 20, 2021 05:32 PM

March 09, 2021

source.squeak.org

Monticello-ct.737

Revises warnings shown before saving a version. In #checkForNewVersions, do not only check the current repository (e.g. inbox) but also the sink repository (e.g. trunk). Also generalizes the idea of sink repositories and resolve hard-coded repositores in Monticello-UI.

March 09, 2021 12:59 PM

ST80-mt.265

Free the names Path, Arc, Circle, Line, Spline to be used in a prospective Math package.

March 09, 2021 12:33 PM

Kernel-mt.1380

Make sure that special object no. 38 is FullBlockClosure.

See discussion at http://forum.world.st/Smalltalk-specialObjectsArray-at-38-tp5125148p5125164.html

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at March 09, 2021 10:40 AM

March 08, 2021

source.squeak.org

Collections-nice.930

Fix my horrible bug before it gets noticed **Blush**

I stupidely tested against Array (good) with #yourself as the collect: block (bad idea!)

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 08, 2021 02:46 PM

Kernel-cmm.1370

Let Processes identify themselves by a dynamic #name in their #printString IF they were so intentionally named, otherwise, the classic generic printString (which indicates its current Context).

by Chris Muller (ma.chris.m@gmail.com) at March 08, 2021 12:45 AM

March 07, 2021

source.squeak.org

Morphic-ct.1733

Fixes an eternity-old bug in TextEditor which skipped empty lines when indenting/outdenting the selection.

by Christoph Thiede (Christoph.Thiede@student.hpi.uni-potsdam.de) at March 07, 2021 07:42 PM

Kernel-jar.1380

Refactoring #terminate to get rid of 'cannot return' errors etc.

This is a follow up on the following threads:
[1] http://forum.world.st/The-Inbox-Kernel-jar-1376-mcz-td5127335.html#a5127336
[2] http://forum.world.st/The-Inbox-Kernel-jar-1377-mcz-td5127438.html#a5127439

The enclosed Kernel file is intended for your consideration and testing only; it has not been thoroughly tested against any tools or the VM.

March 07, 2021 10:38 AM

March 03, 2021

source.squeak.org

Collections-nice.928

Merge Collections-nice.634 (Implement replace: in Dictionary)

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 02:29 PM

CollectionsTests-nice.354

Merge CollectionsTests-nice.244 (test Dictionary replace:)

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 02:26 PM

Collections-nice.634

Implement replace: in Dictionary

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 02:25 PM

CollectionsTests-nice.244

Test Dictionary replace:

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 02:24 PM

CollectionsTests-nice.331

More thorough tests for optimized RunArray (companion change of Collections-nice.464)

Note that those added tests lazily use well known collection class results as reference.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 02:15 PM

CollectionsTests-nice.353

More thorough tests for optimized RunArray (companion change of Collections-nice.464)

Note that those added tests lazily use well known collection class results as reference.

This remasters CollectionsTests-nice.331
UUID: 0cbb84b5-6678-4fd0-bdee-73bd660b7a50
which is a false ancestor (the name conflict with trunk version), and thus moved to treated.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 02:13 PM

Collections-nice.927

Remaster Collections-nice.869 & Collections-nice.464: opimize RunArray

This should not be noticeable for Text, but as a general library, it's important for any other potential use.

- Move RunArray off ArrayedCollection which serves nothing to such subclass.
- Add the ability to remove: since it already has the hability to addFirst: and addLast:
- Fix a few missing lastIndex cache flush, and advertise about the necessity to do it in class comment.
- prefer replace: to mapValues:, as it is a more generic Collection idiom

Notice that this DOES NOT import one major change of Collections-nice.869:
the enumerating methods like #collect: will continue to iterate on each element, rather than only once per run, so as to preserve side effects.
Thus Collections-nice.869 remains in inbox until larger acceptation occurs.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 02:10 PM

Collections-nice.825

Try to improve some Interval of Float Behavior.

- change #last so that it agrees with (self at: self size)
Note that last behavior slightly changes for empty Interval: (3 to: 0) last is now 2 instead of 0 previously. I don't know of any code impacted, but it's not a completely neutral change

Note: this solves 2 out of the 3 failures of #testIntervalOfFloatLast... The last element might still overshoot the prescribed upper bound. I can also fix it, but implementation of #last is getting overkill.

- implement a ReversedInterval that lazily reverse an Interval of Float, and resolves #testIntervalOfFloatReversed.

The alternative would be resorting to an Array...

- renounce fuzzy inclusion test. As exhibited by #testSurprisingFuzzyInclusionBehavior, it creates more weirdness than it tries to solve. There will be two more test failing, asserting this fuzzy inclusion, but we can later change them.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 01:38 PM

squeaksource.com

LogarithmicInterval-nice.6

Robustify Interval class>>from:to:size:
Introduction of LimitedPrecisionInterval in Squeak reveals the necessity of more thorough efforts.

The new strategy is to try adjusting the step twice, then the stop bound once.

by nicolas cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 10:24 AM

source.squeak.org

Collections-nice.926

Fix LimitedPrecisionInterval>>collect: it should avoid accumulating increments which also accumulates rounding errors and make collect: behavior diverge from do:.

Rather than modifying Interval>>collect:, implement the specific inexact arithmetic handling in specific subclass.

Do the same with do: and reverseDo:. This enables restoring the legacy Interval enumerations which perform only one operation per loop instead of two.

Do not check rangeIncludes: in indexOf:startingAt:. This is useless foe exact Interval, and now redundant for LimitedPrecisionInterval thanks to more carefull implementation of #size.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 09:46 AM

CollectionsTests-nice.352

Separate the Interval of Float tests into LimitedPrecisionIntervalTest.

Document a few more invalid expectations related to inexact nature of arithmetic on LimitedPrecisionInterval.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 09:34 AM

squeaksource.com

ArbitraryPrecisionFloat-nice.77

An ArbitraryPrecisionFloat hasLimitedPrecision, which indicates that arithmetic operations might be inexact. Indeed, the operation result has to be rounded to the limited precision, no matter how large it can be.

March 03, 2021 09:31 AM

source.squeak.org

PreferenceBrowser-ct.101

Honor #openToolsAttachedToMouseCursor when opening the PreferenceBrowser

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at March 03, 2021 07:05 AM

PreferenceBrowser-mt.113

Merge fix for preferences tool to honor "open attached to mouse" preference.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at March 03, 2021 07:04 AM

CollectionsTests-nice.351

Change the expectations w.r.t. Interval fuzzy inclusion.
Include a couple of tests taken from https://github.com/dolphinsmalltalk/Dolphin/issues/1108
Revise the expectedFailures, some turned into unexpected success!

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 01:19 AM

Collections-nice.925

Distinguish questionable LimitedPrecisionInterval (those with Float bounds or step) from ordinary Interval of Integer, Fraction or ScaledDecimals.

The main interest of having a specific class is to avoid crippling Interval with Float workarounds, for the rare use case.

Explain some of the pitfalls of LimitedPrecisionInterval, and encourage alternatives in class comment, which is a second advantage of having a separate class.

Abandon fuzzy inclusion logic, which is considered to introduce more discrepancies than it tries to solve
See http://bugs.squeak.org/view.php?id=6455.
and method #testSurprisingFuzzyInclusion

Fix two other failing tests for Interval of Floats.

Fix size so that (0.3 to: 1.2 by: 0.1) includes: 1.2.
See https://github.com/dolphinsmalltalk/Dolphin/issues/1108
This makes size a bit less performant than super, a 3rd reason why a specific class is neat.

Huh, that's more comments than code ;).

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at March 03, 2021 01:14 AM

March 02, 2021

squeaksource.com

BinarySearchTree-rvc.7

Reparent under SortedCollection.

by r. clayton (factotum@rclayton.org) at March 02, 2021 06:51 PM

March 01, 2021

squeaksource.com

ConfigurationOfArbitraryPrecisionFloat-nice.14

Oups, really fixup ln regression bug with the correct version number!

March 01, 2021 11:28 PM

ConfigurationOfArbitraryPrecisionFloat-nice.14

Oups, really fixup ln regression bug with the correct version number!

March 01, 2021 11:28 PM

ConfigurationOfArbitraryPrecisionFloat-nice.13

version 1.3.1 fix ln regression

March 01, 2021 11:18 PM

ConfigurationOfArbitraryPrecisionFloat-nice.13

version 1.3.1 fix ln regression

March 01, 2021 11:18 PM

ArbitraryPrecisionFloat-nice.76

Fixup bug introduced in ArbitraryPrecisionFloat-nice.72

Could not evaluate anymore:

(-100 asArbitraryPrecisionFloatNumBits: 53) exp.

March 01, 2021 11:06 PM

ArbitraryPrecisionFloat-nice.75

Introduce inPlaceSquared.

Note: this brings a small performance improvment in Squeak because Squeak provides slightly better accelerated squared for LargeInteger than accelerated ordinary multiplication.

March 01, 2021 08:31 PM

ArbitraryPrecisionFloat-nice.74

Simplify printOn:showingDecimalPlaces: and printOn:maxDecimalPlaces:

March 01, 2021 08:28 PM

ArbitraryPrecisionFloat-nice.73

Use ln2 rather than ln2Cache
(better to hide the cache like what is done for pi)

Introduce the 'constants' protocol for classifying pi, ln2 etc...

Fix the ZeroDivide dividend in reciprocal.

Let arcTan: use signBit rather than sign.

Minor cleanup of printing.

March 01, 2021 01:05 PM

ArbitraryPrecisionFloatTests-nice.33

Let testLn2 test ln2 rather than ln2Cache.

March 01, 2021 12:57 PM

ConfigurationOfArbitraryPrecisionFloat-nice.12

Use pharo Y.x instead of pharoY.0.x in specifications.
Upgrade stable to 1.3.0 on Pharo 7.x

March 01, 2021 10:05 AM

ConfigurationOfArbitraryPrecisionFloat-nice.12

Use pharo Y.x instead of pharoY.0.x in specifications.
Upgrade stable to 1.3.0 on Pharo 7.x

March 01, 2021 10:04 AM

ConfigurationOfArbitraryPrecisionFloat-nice.11

Add version 1.3.0 with support of #log #log2 #log:
Add baseline for Pharo 8.0 and Pharo 9.0

March 01, 2021 07:48 AM

ConfigurationOfArbitraryPrecisionFloat-nice.11

Add version 1.3.0 with support of #log #log2 #log:
Add baseline for Pharo 8.0 and Pharo 9.0

March 01, 2021 07:48 AM

ArbitraryPrecisionFloatTests-nice.32

Add tests for various log2 log and log: and provide more thorough tests for ln.
Add a trivial test for halfPi.

March 01, 2021 07:21 AM

February 28, 2021

squeaksource.com

ArbitraryPrecisionFloat-nice.72

Accelerate neperian logarithm (ln) by using the ln2Cache, and avoiding some of the extra precision.

Revise ln2Cache in order to provide an efficient version and avoid an infinite loop (ln use ln2Cache which use ln etc...).

Introduce logarithm in base 2 (log2), 10 (log) or an arbitrary base (log:).

For this, separate the Salamin algorithm in its own method (lnSalaminPrecision:).

February 28, 2021 09:23 PM

February 25, 2021

squeaksource.com

System.V3-dtl.1219

Name: System-mt.1219
Author: mt
Time: 19 February 2021, 9:07:02.127408 am
UUID: 7a1ac093-4949-fd43-87b4-d9379f327f88
Ancestors: System-mt.1218

Adds 'codefrau' initials.

by Dave Lewis (lewis@mail.msen.com) at February 25, 2021 11:30 PM

February 21, 2021

squeaksource.com

BinarySearchTree-rclayton.3

Created

by r. clayton (factotum@rclayton.org) at February 21, 2021 01:06 AM

February 19, 2021

squeaksource.com

Kernel-GDK.1320

empty log message

by Dynabook Smalltalk (smalltalkland0@gmail.com) at February 19, 2021 08:45 PM

February 17, 2021

squeaksource.com

Kernel.V3-dtl.1369

Name: Kernel-ct.1368
Author: ct
Time: 24 January 2021, 3:19:48.003384 pm
UUID: c62a6062-b240-9149-a2ed-78fdc1079dfd
Ancestors: Kernel-mt.1364

Proposal: Always include process name into its print string. This facilitates debugging/inspecting of multiprocess scenarios.

Name: Kernel-nice.1368
Author: nice
Time: 11 February 2021, 9:30:07.084854 am
UUID: b086833d-ece4-4372-b252-87d2caa59193
Ancestors: Kernel-eem.1367

Rescue setting of Processor highestPriority: anInteger

There was a double problem:
1) if reducing the priority, then anyProcessesAbove: did behave as noProcessAbove: because (select:) isEmpty <=> noneSatisfy:
It should have been (reject:) empty or (select:) notEmpty, but we have anySatisfy: for expressing this intention
2) if increasing the priority, then the loop did overwrite the last LinkedList in the quiescentProcessLists

Those LinkedList are mostly empty in my own image, and we never change the highestPriority, so the bug was probably benign...

by Dave Lewis (lewis@mail.msen.com) at February 17, 2021 12:37 AM

Collections.V3-dtl.924

Name: Collections-jar.924
Author: jar
Time: 7 February 2021, 9:42:07.649004 am
UUID: 073b26bc-8e5e-ba41-9aac-9d424bbe6848
Ancestors: Collections-dtl.923

Fixes SharedQueue >> nextOrNilSuchThat bug to pass the existing test

by Dave Lewis (lewis@mail.msen.com) at February 17, 2021 12:04 AM

February 16, 2021

squeaksource.com

Kernel-GDK.1319

empty log message

by Dynabook Smalltalk (smalltalkland0@gmail.com) at February 16, 2021 12:18 PM

February 11, 2021

squeaksource.com

Kernel.V3-dtl.1367

Name: Kernel-eem.1367
Author: eem
Time: 1 February 2021, 6:57:09.713484 pm
UUID: def9aaa1-eb71-4da5-8f86-85856d9b88ad
Ancestors: Kernel-eem.1366

Fix mistake in the previous commit. Thanks Levente!

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

System.V3-dtl.1214

Name: System-cmm.1214
Author: cmm
Time: 5 February 2021, 10:09:05.179247 pm
UUID: d6f968d9-a638-42ef-89ef-d37af0f31ffd
Ancestors: System-mt.1213

Patch the patcher. Smalltalk run: permits the patching of a production system without having to resort to running a custom image, but when the patch.st file has read-only status in the OS, FileStream class>>#fileNamed:do: can't open it, because it tries to open for read/write. But rather htan signal an error, it silently does nothing (wow), leaving the system unpatched.
Patch files can and should be read-only anyway, so use DirectoryEntryFile>>#readStreamDo:.

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

NuScratch-tpr.386

Change the settings default to NOT allow uploading of projects to the MIT site unless you specify share = (non-0) in the Scratch.ini file

by tim rowledge (tim@rowledge.org) at February 11, 2021 02:56 AM

February 06, 2021

squeaksource.com

UnlimitedTicTacToe-iC.21

Add dependency based control mechanism

by Jaromir Matas (m@jaromir.net) at February 06, 2021 06:20 PM

February 05, 2021

squeaksource.com

Covid19-Core-tsl.10

API change to https://disease.sh/v3/covid-19/

by Thiago da Silva Lino (thiagolino@yahoo.com.br) at February 05, 2021 06:06 PM

January 24, 2021

squeaksource.com

NuScratch-tpr.385

Changes towards supporting Squeak 5.3
FilePicker reworked (and ResizableToggleButton2) to get the directory window down-arrow icon in the right place.
ScratchKeyboard reworked a bit, using lower default volume becasue pulse audio is now the default Pi sound system and it appears to have a problem with max volume sounds.
Couple of Font related updates.
Turn off MIT scratch site access; it hasn't worked for years because they stooped providing compatible project files with Scratch 2. How's that Flash thing working for you guys?

by tim rowledge (tim@rowledge.org) at January 24, 2021 11:01 PM

System.V3-dtl.1212

Name: System-eem.1212
Author: eem
Time: 23 January 2021, 6:18:33.915831 pm
UUID: b4abe320-97d1-4849-87af-51818eddcabe
Ancestors: System-eem.1211

There are two instances of the copyright. Make them both consstent and move them out of EToys (helping a tiny bit in EToys unloading).

by Dave Lewis (lewis@mail.msen.com) at January 24, 2021 08:21 PM

System.V3-dtl.1211

Name: System-eem.1211
Author: eem
Time: 23 January 2021, 6:07:18.034021 pm
UUID: 89999499-d83c-478b-9044-5dee2fe443df
Ancestors: System-dtl.1210

Update the system's copyright.

by Dave Lewis (lewis@mail.msen.com) at January 24, 2021 08:19 PM

January 22, 2021

squeaksource.com

Computer-Algebra-Tests-stes.8

add testMakeVariableDense

by David Stes (stes@telenet.be) at January 22, 2021 06:00 PM

Computer-Algebra-stes.8

Add some methods for makeVariableDense

by David Stes (stes@telenet.be) at January 22, 2021 05:59 PM

February 25, 2020

squeaksource.com

GraphQL

UPDATE 2/25/2020: Simple querys work. 60 tests remaining to finish. After I get those done, I must solve will be how to do Exception-handling through a #future call to comply with the specs async requirements. Now predicting May 1st for official release.

This may not be the final repository for this, so limiting public access until decision. However, if interested in trying it out, just send email to the administrator.

by Chris Muller (ma.chris.m@gmail.com) at February 25, 2020 09:17 PM

December 19, 2017

squeaksource.com

ProjectQuinto

Juste pour le plasir

by Francois Rousseau (lejazzgitan@gmail.com) at December 19, 2017 10:50 PM

December 12, 2011

squeaksource.com

w00t

Here it goes...

December 12, 2011 03:50 PM

November 23, 2011

squeaksource.com

Dead Code Detection - Group 6 - Week 1

We were able to import *.mse files successfully and started to think about how we could detect dead code. After browsing through the moosetechnology.org website, we saw that one possibility would be to use the methods provided by Moose Chef to handle dead code detection. But since this is all new to us we would like to be sure that we're not starting off from the wrong foot. Could you please tell us if using Moose Chef would be a good approach? Thank you.

by Frédéric Aebi (frederic.aebi@unifr.ch) at November 23, 2011 06:53 AM

October 02, 2011

squeaksource.com

A database driver for MySQL protocol

The driver is now capable of authenticating users in case the password was created in old style (short hash). The new style (long hash) password support remains available as usual. The fallback is silent, and handled during the handshake. Similar mechanisms apply to change user command.

In order to test the short has password cases change the password to use the old style by issuing commands like (from an admin account):

set password for 'stdbtestuser'@'%' = old_password('stdbtestpass')

Then run the test suite.

To change the password style back to new hash just do:

set password for 'stdbtestuser'@'%' = password('stdbtestpass')

Then run the test suite again to confirm.

by Anindya Haldar (anindya_haldar@yahoo.com) at October 02, 2011 08:17 AM

September 26, 2011

squeaksource.com

SBE Quinto Game

hmm, test: add message

by Philippe Quesnel (philippe.quesnel@gmail.com) at September 26, 2011 06:18 AM

July 16, 2011

squeaksource.com

FSGittest

test

by Max Leske (theseion@students.unibe.ch) at July 16, 2011 09:29 AM

July 10, 2011

squeaksource.com

Pier Multilanguage

Fehlerbehebung: Ein neuer Blog-Eintrag konnte nicht gespeichert werden, da bei der Ermittlung des Index die Monatsnamen aus dem Englischen herangezogen wurden (July - Juli).

by Thomas Aldag (thomas.aldag@gmx.de) at July 10, 2011 11:39 AM

April 12, 2011

squeaksource.com

StSearch - Search Engine for Smalltalk

The latest version is working fine in Squeak 4.2. Please be informed.

by Zhe Xi Lim (limzhexi@hotmail.com) at April 12, 2011 08:29 AM

December 24, 2010

squeaksource.com

AltFreeCell

Updated for Pharo 1.1 (and 1.2beta1) with some bugfixes.

Note that there is a bug in Pharo on Linux where saving an image causes Color black to become Color transparent. A work-around is to eval 'AltCardMorph initialize', then click on Start Over (or 'Klondike new openInWorld').

by Ken Dickey (Ken.Dickey@whidbey.com) at December 24, 2010 09:13 PM

September 18, 2010

squeaksource.com

Frob, Twiddle and Tweak

just frobbin' round

by frob (mehl@frob.de) at September 18, 2010 12:52 PM

September 11, 2010

squeaksource.com

VerMonTest

Hola!

by Pablo (pcarreno@dcc.uchile.cl) at September 11, 2010 07:26 PM

April 30, 2010

squeaksource.com

OMeta

Make sure you load the "preload" package before the "postload" package!

by Alex Warth (alexwarth@gmail.com) at April 30, 2010 11:14 PM

November 14, 2009

squeaksource.com

MessageNotUndestood>>UndefindObject>>visible.

see

http://gdsfeel.com/note/?BUGS

insert ifNotNilDo: block

by Kenjiro Fukuda (gdsfeel_doit@me.com) at November 14, 2009 04:50 AM