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

June 16, 2021

squeaksource.com

PromisesRemote-rww.8

update to SecureRandom picker

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 03:34 PM

ParrotTalk-rww.61

refactored to support session config.

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 03:34 PM

TraceMonitor-rww.3

added GlobalMonitor

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 03:34 PM

TraceMonitor-rww.3

added GlobalMonitor

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 03:34 PM

PromisesLocal-rww.29

updated required package version to 2.

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 03:33 PM

ThunkStack-rww.36

refactored to support session config.

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 03:33 PM

CryptographyRSFEC-rww.30

preserve in-image implementations

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 03:01 PM

CryptographyRSPlugin-rww.18

mark <inline: true>

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 03:01 PM

CryptographyRSErasure-rww.31

added codingLoop primitives

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 07:58 AM

CryptographyRSErasureTests-rww.14

split off ExhaustiveTests

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 07:58 AM

CryptographyRSFEC-rww.29

set prim calling methods to the side

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 07:58 AM

CryptographyRSFECTests-rww.12

reorganized tests

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 07:58 AM

CryptographyRSPlugin-rww.17

added codingLoop primitives

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 07:58 AM

CryptographyRSFEC-rww.28

disable bug-ridden primitives for
Poly>>#dividePoly:
Decoder>>#runEuclideanAlgorithmPoly:poly:rDegrees:
Decoder>>#decode:twoS:

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 02:18 AM

CryptographyRSPlugin-rww.16

update primitives in bug fixing.

disable bug-ridden primitives for
Poly>>#dividePoly:
Decoder>>#runEuclideanAlgorithmPoly:poly:rDegrees:
Decoder>>#decode:twoS:

by Robert Withers (rabbit@churchofthesacrifice.org) at June 16, 2021 02:18 AM

June 15, 2021

source.squeak.org

Morphic-ct.1774

Allows models to honor the currently hovered column position in a PluggableMultiColumnListMorph for mouse actions such as tool-tips or double-click events.

Usage examples:

multiColumnList getHelpSelector: #helpAtRow:atColumn:.
multiColumnList doubleClickSelector: #doubleClickColumn:.

June 15, 2021 04:50 PM

squeaksource.com

CryptographyRSFEC-rww.27

debugging

by Robert Withers (rabbit@churchofthesacrifice.org) at June 15, 2021 03:54 PM

CryptographyRSFECTests-rww.11

debugging

by Robert Withers (rabbit@churchofthesacrifice.org) at June 15, 2021 03:54 PM

CryptographyRSPlugin-rww.15

debugging

by Robert Withers (rabbit@churchofthesacrifice.org) at June 15, 2021 03:54 PM

source.squeak.org

Morphic-ct.1773

Complements System-ct.1236.

June 15, 2021 02:01 PM

System-ct.1236

Fixes RealEstateAgent intolerance with a nil world which must be handled according to senders. Document the fact that world can be nil in all relevant senders. I struggled about this when I encountered a recursive project error. See StandardSystemView >> #initialFrame.

June 15, 2021 02:00 PM

June 14, 2021

source.squeak.org

VMMaker.oscog-dtl.2968

Merge VMMaker.oscog-nice.2957 from inbox required for fix_include_order:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562

Fix from Alistair Grant for globalSessionID range overflow:
https://github.com/pharo-project/opensmalltalk-vm/issues/233
http://lists.squeakfoundation.org/pipermail/vm-dev/2021-May/036291.html

by David T. Lewis (lewis@mail.msen.com) at June 14, 2021 03:56 PM

squeaksource.com

CryptographyRSPlugin-rww.14

change looping in Poly>>#initializeField...

by Robert Withers (rabbit@churchofthesacrifice.org) at June 14, 2021 12:29 PM

CryptographyRSFECTests-rww.10

remove in-image tests.

by Robert Withers (rabbit@churchofthesacrifice.org) at June 14, 2021 12:29 PM

June 08, 2021

source.squeak.org

Monticello-eem.749

Load time robustness when proceeding through syntax errors (which result in nil methods in MethodAddition).

by Eliot Miranda (eliot.miranda@gmail.com) at June 08, 2021 08:16 PM

squeaksource.com

Ocompletion-eem.123

Robustness for Monticello package loading when proceeding throguh syntax errors, which can result in nil methods.

by Eliot Miranda (eliot.miranda@gmail.com) at June 08, 2021 07:17 PM

source.squeak.org

FFI-Tests-mt.52

Complements FFI-Kernel-mt.181

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at June 08, 2021 09:54 AM

FFI-Kernel-mt.181

Fixes and clean-up in array types. No need for #isPointerTypeForArray because #referentClass is used only for alias-to-array types as in other types. The #contentType has its own instVar.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at June 08, 2021 09:53 AM

FFI-Callbacks-mt.25

Makes FFI-Callbacks compatible with Alien (callbacks):
- Renames #FFICallbackMemory to #AlienStub
- Moves management of executable pages from ExternalAddress and FFICallbackMemory to FFICallback
- Marks compatibility methods with flag #alienCompatibility.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at June 08, 2021 07:41 AM

squeaksource.com

ConfigurationOfFFI-mt.50

FFI-Callbacks is compatible with Alien now. So, load it by default when loading Squeak FFI.

June 08, 2021 06:59 AM

May 26, 2021

squeaksource.com

CryptographySignatures-rww.19

fix random access

by Robert Withers (rabbit@churchofthesacrifice.org) at May 26, 2021 05:53 AM

Morphic-cmm.1616

Make MC save dialogs more pleasant by assuming each line has at least 5 characters, so that the #charactersOccluded will calculate greater and allocate a little more space for it.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 03:13 AM

Kernel-cmm.1293

Revert Fraction>>#= so that (Fraction numerator: 5 denominator: 1) = 5. Having this be false is as wrong as having 5.0 = 5 return false, IMO.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 03:13 AM

Compiler-cmm.329

Kent Beckian purposefully plenk'd pretty printing.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 03:08 AM

Collections-cmm.871

Revert the changes introduced in Symbol>>#= (via Collections-nice.820) because it breaks the classic Proxy pattern.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 03:07 AM

Chronology-Core-cmm.58

Fix a dangerous part of the Chronology API.

- DateAndTime utcMicroseconds: Time utcMicrosecondClock offset: 0 looks reasonable, but it's very not. Notice how it's off, silently, by 68 years!!!
- Deprecate Time class>>#utcMicrosecondClock. Only soft-deprecate it for now due to its use in Kernel and Network packages. Will update them as needed.
- Replace it with Time class>>#primMicrosecondClockValue, where "prim" at least indicates implementation-specific properties may be present.
- Complement legacy Smalltalk-80 protocol, and expose the new microsecond-level precision in the VM for users with:
DateAndTime>>#asMicroseconds and
DateAndTime class>>#fromMicroseconds:
- Rename Time class>>#localMicrosecondClock to #localMicrosecondClockValue to 1) be consistent with microsecondClockValue and 2) avoid overloading the "clock" nomenclature. It's a value, not an object!
- Remove unused DateAndTime class>>#millisecondClockValue.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 03:07 AM

Magma-Client-cmm.743

MagmaVersionError needs to be resumable during DB version-upgrades. It's also helpful to know the dbVersion that was read from the DB.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Magma-Server-cmm.521

- no longer necessary to #close / #open just to truncate.
- Less Delay garbage in one method.
- Let MagmaFileTraverser support a one or two-arg block. If a two-arg block is specified it is passed the graphBuffer (with access to the path of #buffers).
- Updating the DB's internal #version metafield is worth signaling a MagmaNotification.
- When running out of memory, only kill the worst non-__system session if it's NOT the only one because, in that case, it shouldn't be the cause of the memory issue.
- MagmaFileTraverser now supports either a one OR two argument "do" block. If two args, the 2nd is now the GraphBuffer, from which can be obtained the path to the current buffer (the first argument).
- Cleaner setting of loadProcess of luxury queries.
- More halts for recovery debugging.
- Better error handling of Magma version upgrades.
- RepositoryController now prints its location.
- deployment needs more work.
- Support upgrading of version 16 repositories.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Magma-Tools-cmm.82

- Use Magma17To18Upgrader in this package to upgrade Magma databases from 1.62 to 1.63.
- The generic MagmaUpgrader superclass now has a 'log' to capture the various Notifications.
- It also includes a #enumerate:check:repair:perform: convenience method for invoking a MagmaDataRepair, as well as methods for doing different things for an upgrade.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Magma-Tester-cmm.429

- Trade #crashVm for #killVm, which uses linux command to "kill -9" the PID of the running Squeak vm.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Ma-Client-Server-Core-cmm.288

After two days of debugging: Revert MaServerLocation>>#isLocalHost to its 2009 version. The 2018 "fix" was put in due to a VM bug which was then later apparently fixed.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Ma-Search-cmm.59

Capture the series of messages sent to a MaBehaviorFinder into its 'log'. This way, a "logical" definition of behaviors, useful for systems that evolve.
Inspired by the GraphQL framwork for Squeak. It has a "SmalltalkEngine" which is intended to expose Smalltalk via GraphQL.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

BrpExtensions-cmm.16

Since reverting Collection>>#asCollection back to Brent's original implementation, there were no issues experienced until MaxTrader needed to use Array's of Strings as input to a permutation, so that particular functionality that was lost is now restored by this new #asCollection override in String.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Ma-Collections-cmm.164

Eliot felt the need to rename my #addNewElement: to #ifAbsentAdd:. Make the same to MaIdentitySet.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Ma-Serializer-Tests-cmm.52

Merge.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Ma-Core-cmm.319

Clean up new SI suffixes for Integer.

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

Ma-Serializer-Core-cmm.350

- Finish removal of the original post-materialization hook. Perhaps the other hooks should be trimmed, too?

by Chris Muller (ma.chris.m@gmail.com) at May 26, 2021 02:32 AM

May 25, 2021

source.squeak.org

Sound-eem.80

Fix FFT>>plot:in: for an all-zero collection.

by Eliot Miranda (eliot.miranda@gmail.com) at May 25, 2021 11:07 PM

squeaksource.com

CryptographyRandom-rww.19

update random sources

by Robert Withers (rabbit@churchofthesacrifice.org) at May 25, 2021 08:14 PM

CryptographyRSErasureTests-rww.7

make arithmetic protocol follow the same naming pattern: #*: by:

by Robert Withers (rabbit@churchofthesacrifice.org) at May 25, 2021 08:07 PM

CryptographyRSErasurePlugin-rww.8

package rename

by Robert Withers (rabbit@churchofthesacrifice.org) at May 25, 2021 08:06 PM

source.squeak.org

Morphic-ct.1771

Fixes a bottleneck when opening a yellow button menu on a morph that contains a very large number of subsub*morphs. On not-so-fast systems, this can be reproduced using:

self systemNavigation browseAllSelect: #notNil

On faster systems, you might need to write a small toolbuilder application to reproduce the bottleneck. I have an app with >10k list items in my image which actually blocked the image for several seconds when I yellow-clicked the window.

Fixed the problem without duplicating the logic of #allStringsAfter: by using a generator.

May 25, 2021 05:38 PM

Tests-jar.448

Complement Kernel-jar.1386 (Fix a list of termination bugs described in http://forum.world.st/Solving-multiple-termination-bugs-summary-amp-proposal-td5128285.html)

These basic tests illustrate the unwind semantics during termination implemented by the new #teminate..

Current implementation of #teminate will fail with these tests - they should accompany Kernel-jar.1386 (if accepted).

Thanks

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

Kernel-jar.1410

Prevent VM crashes due to returning from #cannotReturn. The fix introduces a isRecursive variable to BlockCannotReturn to recognize an infinite loop.
#cannotReturn: loops to itself and notifies the user an infinite loop is starting. Returning from #cannotReturn: is no longer possible so that the user cannot crash the VM by accidentally pressing Proceed, by stepping over etc. #terminate can take advantage of this improved behavior.

This is a more sophisticated alternative to Kernel-jar.1404 for a discussion.

Examples like:

[^2] fork

or

[[self error] ensure: [^2]] fork

or even

a := [true ifTrue: [^ 1] yourself]
"and then do-it separately (c) Christoph:"
[a value] on: BlockCannotReturn do: [:ex | ex resume]

can no longer crash the image :)

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

Kernel-jar.1409

Replace Kernel-jar.1408 and supersede Kernel-jar.1406. This is a "final" version :)

(I noticed too late Kernel-jar.1408 uploaded incorrectly, apologies - please disregard that commit)

Clean-up, extract repeating code to a new method #complete:to:, revert an incorrect modification of #runUntilErrorOrReturnFrom from Kernel-jar.1406 and 1408, resolve MessageNotUnderstood recursion problem, update comments...

Consistent with current ProcessTest >> #testNestedUnwind semantics for completing nested halfways-through unwind blocks during termination:

x1 := x2 := x3 := nil.
p:=[
[
[ ] ensure: [ "halfway through completion when suspended"
[ ] ensure: [ "halfway through completion when suspended"
Processor activeProcess suspend. "here the process gets terminated"
x1 := true].
x2 := true]
] ensure: [ "not started yet when suspended"
x3 := true]
] fork.
Processor yield.
p terminate
self assert: x1 & x2 & x3.

Original discussion of the changes in #terminate: http://forum.world.st/Solving-multiple-termination-bugs-summary-amp-proposal-td5128285.html

Discussion regarding a proposal to change the current semantics: http://forum.world.st/The-semantics-of-halfway-executed-unwind-contexts-during-process-termination-td5129800.html

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

Kernel-jar.1404

Prevent VM crashes due to returning from #cannotReturn. The fix loops #cannotReturn to itself so that the user cannot crash the VM by accidentally pressing Proceed, by stepping over etc.

#terminate can take advantage of this improved behavior - will post a proposal in a separate changeset.

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

May 24, 2021

source.squeak.org

Kernel-jar.1412

Fix an issue when a process terminating another process is terminated in the middle of the unwind.

As a result the original process won't finish unwinding and will leave either a suspended process or a chain of unfinished contexts behind (to be GC'd).

This is an update of Kernel-jar.1411 (not replacement).

Complemented by a test: KernelTests-jar.406

May 24, 2021 09:06 PM

KernelTests-jar.406

Test a situation when a process terminating another process is terminated in the middle of the unwind. make sure both processes are unwound correctly.

May 24, 2021 09:02 PM

Kernel-jar.1411

Supersede Kernel-jar.1409; latest changes: fix unwind when #ensure is top context, fix typo in isRecursive: setter. This is a "final" version.

Complemented with tests: Tests-jar.465, ToolsTests-jar.105, KernelTests-jar.405

Please remove Kernel-jar.1409, Kernel-jar.1404, Kernel-jar.1410 and Tests-jar.448 from the Inbox.

Summary and discussion of the bugs and changes in #terminate: http://forum.world.st/Solving-multiple-termination-bugs-summary-amp-proposal-td5128285.html

Recent changes: Clean-up, extract repeating code to a new method #complete:to: to improve readability, resolve MessageNotUnderstood and BlockCannotReturn recursion problem, update comments, support unwind from nested errors.

Consistent with current ProcessTest >> #testNestedUnwind semantics for completing nested halfways-through unwind blocks during termination:

x1 := x2 := x3 := nil.
p:=[
[
[ ] ensure: [ "halfway through completion when suspended"
[ ] ensure: [ "halfway through completion when suspended"
Processor activeProcess suspend. "here the process gets terminated"
x1 := true].
x2 := true]
] ensure: [ "not started yet when suspended"
x3 := true]
] fork.
Processor yield.
p terminate
self assert: x1 & x2 & x3.

Discussion regarding a proposal to change the current semantics: http://forum.world.st/The-semantics-of-halfway-executed-unwind-contexts-during-process-termination-td5129800.html

May 24, 2021 01:27 PM

ToolsTests-jar.105

Complement latest #terminate in the Inbox. Test unwind semantics for nested Unhandled errors aborted via debugger's Abandon (interpreted as terminate).

May 24, 2021 01:15 PM

Tests-jar.465

Add a set of tests comlpementing the latest #terminate in the Inbox. Tests the unwind semantics during termination.

May 24, 2021 01:08 PM

KernelTests-jar.405

Add a stress test #testTerminateInEnsure presented by Martin McClure at 2019 Smalltalk conference. Tests unwind when a process gets terminated inside the #ensure unwind block. Complements latest #terminate in the Inbox.

May 24, 2021 01:03 PM

May 23, 2021

source.squeak.org

FFI-Callbacks-mt.18

Use #abiSend: for callback init.

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

FFI-Kernel-mt.168

Minor clean-up in raw-bits array to clarify the use of FFIAtomicReadWriteSend for FloatArray and (Signed|Unsigned)IntegerArray.

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

FFI-Kernel-mt.167

Complements FFI-Pools-mt.27. New preference for using a type pool for about 2x faster access to struct fields.

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

FFI-Pools-mt.27

Prepares extra pool for types to be used for fast field access in external structures.

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

May 18, 2021

squeaksource.com

CryptographyRSErasure-rww.9

remove old comment

by Robert Withers (rabbit@churchofthesacrifice.org) at May 18, 2021 09:31 PM

source.squeak.org

PreferenceBrowser-mt.115

Tweak the previous commit. Make the two new preferences be reflected in the preview world for the user to play around with. :-)

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

PreferenceBrowser-mt.114

Add the two new workspace preferences to the wizard because both are primarily intended for newcomers.

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

Tools-mt.1056

Tweak #embedTranscript to only apply when opening a regular workspace via class-side #open. Note that the workspace model is re-used for other purposes such as string edit. See UIManager.

Adds new preference to file-out workspace contents on accept. Thanks to Jaromir for the idea! Preference is enabled by default since there was noe default accept-action in workspaces yet.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 18, 2021 11:58 AM

ToolBuilder-Morphic-mt.276

Fix custom invocation of Workspace for string edit to not use the public interface for opening a workspace. (This is a minor regression since the addiction of #embedTranscript earlier this month.)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 18, 2021 11:55 AM

May 17, 2021

squeaksource.com

CryptographyRSErasure-rww.8

adopting an interface class, for calls to an RSErasurePlugin

by Robert Withers (rabbit@churchofthesacrifice.org) at May 17, 2021 05:03 PM

source.squeak.org

FFI-Kernel-mt.159

*sigh*

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

FFI-Kernel-mt.158

Further fixes for code loading. Sorry for the noise :-(

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

ReleaseBuilder-mt.216

Fixes regression in recent reset of pragma preferences. Enable "browse with drag-n-drop" by default.

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

squeaksource.com

CryptographyRSErasure-rww.7

repair benchmark, with update to a check method.

by Robert Withers (rabbit@churchofthesacrifice.org) at May 17, 2021 08:52 AM

source.squeak.org

FFI-Tests-mt.42

Complements FFI-Kernel-mt.157

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

FFI-Kernel-mt.157

Fixes some bugs with empty array types during code loading.

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

FFI-Kernel-mt.156

Allow empty array types so that code loading can work. Since structure types are initialized only partially when referenced in an FFI call, this must be possible for array types too, which can reference to those not-yet-fully-initialized struct types as content type.

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

FFI-Callbacks-mt.16

Complements FFI-Kernel-mt.155

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

FFI-Kernel-mt.155

Adds endianness to platform description.

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

squeaksource.com

CryptographyRSErasureTests-rww.6

final bug fixes, all tests pass Green!

by Robert Withers (rabbit@churchofthesacrifice.org) at May 17, 2021 01:08 AM

CryptographyRSErasure-rww.6

final bug fixes, all tests pass Green!

by Robert Withers (rabbit@churchofthesacrifice.org) at May 17, 2021 01:08 AM

May 16, 2021

source.squeak.org

System-ct.1233

Makes TextDiffBuilder capable of building string patches (that use +/- prefixes instead of text attributes) or combined patches that use both prefixes and attributes.

Usage:

| aTextDiffBuilder |
aTextDiffBuilder := TextDiffBuilder from: 'Hello world\Squeak is great\Carpe Squeak!' withCRs to: 'Hello world\Squeak is awesine\Carpe Squeak!' withCRs.
aTextDiffBuilder buildStringPatch edit.
aTextDiffBuilder buildPrefixedDisplayPatch edit.
aTextDiffBuilder buildDisplayPatch edit. "classic"

May 16, 2021 06:29 PM

Kernel-ct.1407

Fixes #isPrimFailToken: for objects that do not implement #isArray in a conventional way, or that do not implement it all. The following should be debuggable without any problems, but currently is not due to a regression in Kernel-eem.1366.

Fur more information, see: http://forum.world.st/The-Trunk-Kernel-eem-1366-mcz-td5126558.html

May 16, 2021 05:06 PM

squeaksource.com

System.V3-dtl.1235

Name: System-dtl.1235
Author: dtl
Time: 15 May 2021, 2:16:34.362599 pm
UUID: 0fa23815-1b1d-431f-ad7f-3b97f3a0cf08
Ancestors: System-dtl.1234

Clean up redundant fileIn methods and let SARInstaller use the same method as the rest of us.

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

System.V3-dtl.1234

Name: System-dtl.1234
Author: dtl
Time: 15 May 2021, 1:30:44.531511 pm
UUID: 40e78b44-f874-4a29-af19-9d289d15d049
Ancestors: System-dtl.1233

PositionableStream>>fileInSilentlyAnnouncing: has not been used since at least Squeak 3.8, and was not present in Squeak 3.6. Remove it without deprecation.

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

System.V3-dtl.1233

Name: System-dtl.1233
Author: dtl
Time: 15 May 2021, 1:25:37.809444 pm
UUID: 660215fe-f151-4184-8a31-8775202baa81
Ancestors: System-nice.1232

Be permissive when filing in Cuis packages. Skip chunks that begin with known extensions that are not meaningful for Squeak, logging to Transcript to show chunks that have been ignored.

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

System.V3-dtl.1232

Name: System-nice.1232
Author: nice
Time: 29 April 2021, 8:13:00.64144 pm
UUID: 9bba2398-62e1-bd4f-90ba-5960a05f6ec8
Ancestors: System-mt.1231

No need to resume: from within defaultAction.
The sender of defaultAction will resume:
See UndefinedObject>>handleSignal:

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

Kernel.V3-dtl.1402

Name: Kernel-nice.1402
Author: nice
Time: 7 May 2021, 9:39:45.713143 pm
UUID: 21ee698b-9f75-40e3-9bd3-944e73cb9e20
Ancestors: Kernel-nice.1401

Fix sqrt bugs exposed by #testSqrtNearExactTie.

If we pretend to round to nearest, we must do it right, not just pretend...

How was the problem found? Accidentally...
I re-examined our implementation after musing in SO:
https://stackoverflow.com/questions/67361541/correctly-rounded-computation-of-sqrt-of-sum-of-two-floats-handling-overflow/67426790#67426790

Musing is more powerful than dumb static and coverage tests, I wish I got more time for musing :)
We deadly need evolutive testing (neural based).

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

Kernel.V3-dtl.1401

Name: Kernel-nice.1401
Author: nice
Time: 6 May 2021, 11:24:25.403176 pm
UUID: 2fbbe628-b187-4e75-ab6f-a6d16df14ce7
Ancestors: Kernel-jar.1400, Kernel-nice.1399

Merge exception handling fixes Kernel-jar.1400, Kernel-nice.1399

by Dave Lewis (lewis@mail.msen.com) at May 16, 2021 01:59 PM

Kernel.V3-dtl.1400

Name: Kernel-jar.1400
Author: jar
Time: 4 May 2021, 10:35:06.700121 pm
UUID: 048df236-d26f-434e-964d-7707b8f2a9a8
Ancestors: Kernel-nice.1397

Fix a bug causing a cannot return error when re-signalling an already signalled exception. The fix makes re-signalling equivalent to sending #outer. Examples follow.

Discussion see http://forum.world.st/The-Inbox-Kernel-jar-1399-mcz-tp5129370p5129434.html

by Dave Lewis (lewis@mail.msen.com) at May 16, 2021 01:57 PM

Kernel.V3-dtl.1399

Name: Kernel-nice.1399
Author: nice
Time: 3 May 2021, 8:41:29.262256 pm
UUID: 90c075cb-6d99-844c-8e53-e697592fe7a1
Ancestors: Kernel-jar.1398

Apply Jaromir fix for nested outed to resumeEvaluating:.

Let resumeUnchecked: rely on resumeEvaluating: in order to avoid code duplication.

Document the (tempAt: 2/tempAt: 2 put:) used in unwinding.

by Dave Lewis (lewis@mail.msen.com) at May 16, 2021 01:52 PM

Kernel.V3-dtl.1398

Name: Kernel-jar.1398
Author: jar
Time: 2 May 2021, 2:56:26.972089 pm
UUID: 9398993d-726c-8747-bde6-506318c4f898
Ancestors: Kernel-nice.1397

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 Dave Lewis (lewis@mail.msen.com) at May 16, 2021 01:51 PM

Kernel.V3-dtl.1397

Name: Kernel-nice.1397
Author: nice
Time: 30 April 2021, 9:48:57.972338 pm
UUID: df20ab21-bba8-4919-b4a1-d2c7a6c6e8de
Ancestors: Kernel-mt.1396, Kernel-jar.1395

merge Kernel-jar.1395 (fix outer)

Name: Kernel-jar.1395
Author: jar
Time: 30 April 2021, 12:25:17.561362 am
UUID: 0f589a20-6b8e-a94b-9dbc-9b3f91c84ce8
Ancestors: Kernel-nice.1394

Fix a bug in Exception>>#outer causing a return to an incorrect handler context. Explanation in: http://forum.world.st/A-bug-in-Exception-gt-gt-outer-causing-a-return-to-an-incorrect-handler-context-td5129273.html

by Dave Lewis (lewis@mail.msen.com) at May 16, 2021 01:49 PM

Kernel.V3-dtl.1396

Name: Kernel-mt.1396
Author: mt
Time: 30 April 2021, 9:16:44.415936 am
UUID: d1ca8229-01e5-b548-9660-5018841eea20
Ancestors: Kernel-nice.1395

Adds support for composition of tool-builder specs such as through DualChangeSorter. There, we need to share the windowSpec.

by Dave Lewis (lewis@mail.msen.com) at May 16, 2021 01:47 PM

Kernel.V3-dtl.1395

Name: Kernel-nice.1395
Author: nice
Time: 29 April 2021, 8:18:50.78844 pm
UUID: f62a6682-e4e0-404a-8b5a-f25b60cad832
Ancestors: Kernel-nice.1394

Clean-up scories from previous fix for nested exception handling.

No need to resume from within defaultAction.

If anySatisfy: does the job, don't you inline it!

by Dave Lewis (lewis@mail.msen.com) at May 16, 2021 01:45 PM

Compiler.V3-dtl.458

Name: Compiler-nice.458
Author: nice
Time: 29 April 2021, 7:48:52.29844 pm
UUID: 354afee1-3aba-4d40-b36c-0000b2e10a93
Ancestors: Compiler-nice.457

Restore newSource which is still used by MethodAddition >> #createCompiledMethod.

No need to resume: from within defaultAction.
The sender of defaultAction will resume:
See UndefinedObject>>handleSignal:

by Dave Lewis (lewis@mail.msen.com) at May 16, 2021 01:42 PM

source.squeak.org

FFI-Kernel-mt.154

Fixes minor slip. :-)

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

FFI-Callbacks-mt.15

Fixes regression in callbacks on 64-bit platforms.

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

FFI-Tests-mt.41

Adds a minor test to check whether we can read smaller integer types from space allocated for bigger integer types.

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

squeaksource.com

Collections.V3-dtl.944

Name: Collections-eem.944
Author: eem
Time: 12 May 2021, 10:19:58.957605 am
UUID: 97274a09-ff46-4d4c-8f16-420df357849d
Ancestors: Collections-mt.943

Nuke duplicate methods in Float32Array inherited from FloatArray.

by Dave Lewis (lewis@mail.msen.com) at May 16, 2021 11:46 AM

source.squeak.org

FFI-Tools-mt.31

Complements FFI-Kernel-mt.153

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 16, 2021 11:04 AM

FFI-Tests-mt.40

Complements FFI-Kernel-mt.153

Tests for global variables pass now. :-)

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at May 16, 2021 11:03 AM

May 11, 2021

source.squeak.org

VMMaker.oscog-eem.2958

spelling in a comment only. this is not the commit you're looking for.

by Eliot Miranda (eliot.miranda@gmail.com) at May 11, 2021 02:19 AM

May 10, 2021

source.squeak.org

Kernel-jar.1403

Further improve #terminate: add comments, remove unnecessary code, fix minor issue, address Christoph's objection in [1] regarding nested errors inside unwind blocks: the following example will currently NOT execute any assignment to x:

x := ''.
[self error: 'x1'] ensure: [
[self error: 'x2'] ensure: [
[self error: 'x3'] ensure: [
x:=x,'3'].
x:=x,'2'].
x:=x,'1']

With the fix all three errors will be dealt with by opening a debugger even after abandoning the one opened on the previous error, and as a result all three assignments will be executed and the value of x will be '321'.

More info in:
[1] http://forum.world.st/Solving-multiple-termination-bugs-summary-proposal-tp5128285p5129113.html

May 10, 2021 06:45 PM

May 09, 2021

squeaksource.com

Kernel.V3-dtl.1394

Name: Kernel-nice.1394
Author: nice
Time: 26 April 2021, 1:50:12.861556 am
UUID: 3a981b94-0213-44f3-8263-838dda062f8a
Ancestors: Kernel-bp.1393

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 Dave Lewis (lewis@mail.msen.com) at May 09, 2021 12:56 PM

source.squeak.org

Kernel-ct.1403

Fixes a bug in the simulation of objects as methods (OaM) when the object implements #isCompiledMethod, e.g. via dynamic forwarding. We always must use mirror primitives to match the behavior of the VM.

Regression test and further explanation are in KernelTests-ct.405.

May 09, 2021 01:56 AM

KernelTests-ct.405

Documents a bug in the simulation of objects as methods (OaM) when the object implements #isCompiledMethod, e.g. via dynamic forwarding. This is actually the case for TestCoverage and for that reason, debugging of SUnit test coverage collection is broken at the moment.

May 09, 2021 01:54 AM

May 08, 2021

squeaksource.com

Kernel.V3-dtl.1393

Name: Kernel-bp.1393
Author: bp
Time: 25 April 2021, 4:16:12.156698 pm
UUID: 6ff1afed-6782-42ad-a968-4c98da9d2c2b
Ancestors: Kernel-mt.1392

Add missing Object>>#isScaledDecimal which is already implemented in the subclass ScaledDecimal.

by Dave Lewis (lewis@mail.msen.com) at May 08, 2021 09:22 PM

Kernel.V3-dtl.1392

Name: Kernel-mt.1392
Author: mt
Time: 25 April 2021, 12:05:33.297546 pm
UUID: 29af9533-b510-49d5-8bde-86666d35f486
Ancestors: Kernel-mt.1391

Small fix. On Linux, uses non-printable control characters when "map CTRL to CMD" is enabled but "map non-printable to printable" is disabled.

Due to limitations of physical modifier keys across platforms, this is not super important but it is nice to get consistent event data across platforms. I suppose that checking for non-printable control characters in keyboard handlers should be avoided to ensure cross-platform compatibility.

See commentary in KeyboardEvent >> #checkCommandKey for more information.

by Dave Lewis (lewis@mail.msen.com) at May 08, 2021 09:20 PM

System.V3-dtl.1231

Name: System-mt.1231
Author: mt
Time: 29 April 2021, 11:03:42.969891 am
UUID: af06a9e1-6280-0649-820c-f6c89ef25640
Ancestors: System-mt.1230

Removes autogenerated pref accessors, which are now under "*autogenerated - ...".

by Dave Lewis (lewis@mail.msen.com) at May 08, 2021 09:11 PM

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

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

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

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

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

March 03, 2021

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

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