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

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

source.squeak.org

Kernel-nice.1376

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

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

squeaksource.com

BinarySearchTree-rvc.7

Reparent under SortedCollection.

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

source.squeak.org

Kernel-ct.1376

Adds #cull:cull:cull:cull:cull: (for five args) analogously to #value:value:value:value:.

March 02, 2021 06:16 PM

EToys-mt.430

Complements Morphic-mt.1732.

I think that the call in #mouseDown: is enough to stop recording. Yet, we might want to inform a morph when a halo was (or is about to be) openend on it. There is none yet.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at March 02, 2021 04:08 PM

Morphic-mt.1732

Encapsulates most of the logic for halo invocation (and transfer) from Morph and PasteUpMorph into a new MorphicHaloDispatcher.

Hopefully no new bugs introduced. Yet, there is still this issue with protruding submorphs due to the logic in #dispatchHalo:createFor: ... :-)

PasteUpMorph #tryInvokeHalo: --> #dispatchHalo:createFor:
Morph #transferHalo:from: --> #dispatchHalo:transferFrom:

It always starts in #dispatchHalo:with: --- either called from the world's event filter or the current halo's mouse-down handling code.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at March 02, 2021 04:06 PM

Collections-ct.925

Refines String>>#asPluralBasedOn: to avoid ugly spellings such as 'classs'.

This approach does not scale very far, of course, but it's better than nothing. Maybe we also want to move this into System-Localization at some other day and build language-specific plurals. :-)

by Christoph Thiede (Christoph.Thiede@student.hpi.uni-potsdam.de) at March 02, 2021 04:03 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 26, 2021

source.squeak.org

Morphic-mt.1727

Minor tweak in the conversion script for flaps.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 03:11 PM

60Deprecated-mt.91

Sigh. The last one produced an endless recursion.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 03:06 PM

60Deprecated-mt.90

Next try to no lock up the image while updating. Use a method that is definitely existing.

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

60Deprecated-mt.89

Soften the previous deprecation to not lock up the image during the image.

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

PreferenceBrowser-mt.112

Complements Morphic-mt.1726

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 02:52 PM

Tools-mt.1026

Complements Morphic-mt.1726

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 02:48 PM

ToolBuilder-Morphic-mt.273

Complements Morphic-mt.1726

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 02:48 PM

MorphicExtras-mt.285

Complements Morphic-mt.1726

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 02:47 PM

EToys-mt.428

Complements Morphic-mt.1726

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 02:46 PM

60Deprecated-mt.88

Complements Morphic-mt.1726

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 02:44 PM

MorphicTests-mt.70

Complements Morphic-mt.1726 with tests.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 02:44 PM

Morphic-mt.1726

Extracts, cleans up, and fixes Morphic layers from Worlds-in-Worlds to be available in any morph structure.

- Protocol "submorphs" in Morph re-organized to highlight the basic add/remove protocol and "layers"
- Existing layers can be found under "layer names" in Morph class. See MorphTest >> #test11NamedLayers to understand the current layer design. We should refine this if we stumble upon better concerns.
- See the "tests - submorphs - layers" protocol in MorphTest for more examples.
- A new effect is that you can change #morphicLayerNumber(:) while the morph is already in a structure (i.e. has an owner), which will then update submorph order in the owner automatically.
- Another new effect is that the docking bar's sub menus are *behind* the docking bar, which makes them look more integrated into the bar.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 26, 2021 02:43 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 20, 2021

source.squeak.org

Morphic-mt.1725

Fixes minor glitch when enabling world grid.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 20, 2021 11:59 AM

PreferenceBrowser-mt.111

Complements Morphic-mt.1724

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 20, 2021 11:51 AM

EToys-mt.427

Complements Morphic-mt.1724

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 20, 2021 11:50 AM

MorphicExtras-mt.284

Complements Morphic-mt.1724

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 20, 2021 11:49 AM

ToolBuilder-Morphic-mt.272

Complements Morphic-mt.1724

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 20, 2021 11:48 AM

60Deprecated-mt.87

Complements Morphic-mt.1724

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 20, 2021 11:48 AM

MorphicTests-mt.69

Complements Morphic-mt.1724

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 20, 2021 11:47 AM

Morphic-mt.1724

Extracts gridding from PasteUpMorph as new layout policy: GridLayout -- so that it is available to any morph.

- Adjust drag implementation in resizer-grips and splitters to be relative to the mouse-down position to make gridding feel better
- Adds "self disableLayout: true" to avoid gridding in overlay morphs such as dialogs, flaps, balloons, menus
- Adds new preference(s) for enabling the project world's grid
- Inst var "griddingOn" no longer needed in PasteUpMorph
- Removes all those scattered "gridPoint:" calls bc. layout policy takes care of that now
- Some code clean-up in table-layout properties
- Documents an interesting bug in HandMorph >> #handleEvent:, which is not caused by this change

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at February 20, 2021 11:46 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

source.squeak.org

Morphic-mt.1722

Minor tweaks to icon cache in LazyList:
- Flag missing icons with #none to avoid repeated model access
- Support no-icon separator items, thus avoiding minor visual glitch (e.g., in Git Browser's list of branches)

Note that it felt right to format #iconExtent this way to emphasize the ordered variations of lazy init. =)

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

Kernel-cmm.1371

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

by Chris Muller (ma.chris.m@gmail.com) at February 16, 2021 06:07 AM

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 February 16, 2021 04:59 AM

February 11, 2021

source.squeak.org

Kernel-nice.1368

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 Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 11, 2021 08:30 AM

SUnit-nice.124

Use lines rather than subStrings: {Character cr}

This is what lines is made for;
it is fast and also work whatever CRLF zoo.

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at February 11, 2021 08:14 AM

VMMaker.oscog-eem.2945

If sqMemoryAccess.h is to define EXPORT et al then sqPlatformSpecific.h, which provides platform-specific overrides, must precede it. This affects the cogit files.

by Eliot Miranda (eliot.miranda@gmail.com) at February 11, 2021 05:53 AM

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 09, 2021

source.squeak.org

VMMaker.oscog-eem.2944

Continuing on from VMMaker.oscog-eem.2943 we have no business overriding the default EXPORT definitoon for external plugins. We define EXPORT to map to static for internal plugins only.

by Eliot Miranda (eliot.miranda@gmail.com) at February 09, 2021 05:01 PM

February 07, 2021

source.squeak.org

Collections-jar.924

Fixes SharedQueue >> nextOrNilSuchThat bug to pass the existing test

February 07, 2021 08:42 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

source.squeak.org

System-cmm.1214

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 Chris Muller (ma.chris.m@gmail.com) at February 06, 2021 04:25 AM

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

February 04, 2021

source.squeak.org

MonticelloConfigurations-dtl.161

A MCConfigurationExtended is a configuration with author initials, timestamp, UUID identifier, comment, and a list of prior versions. Its external storage format is organized for compatibility with MCConfiguration, such that an image wtih support for only MCConfiguration can use configurations saved from a MCConfigurationExtended.

The intended use is to enable documentation of configuration maps, and to allow modifications to a configuration map without loss of version history.

When editing an MCConfiguration, a copyForEdit of the configuration is modfied, leaving the prior configuration in the version history. When saving an edited version, an editor window allows a version comment to be entered for the new configuration. Version history for a saved MCConfiguration is trimmed to a maximum of 10 prior versions to maintain reasonable storage size. Full version history can be reconstructed based on the UUID identifiers.

MCConfigurationBrowser provides a "Versions" button to open an explorer on the version history of a configuration. No other support for browsing version history and comments is provided.

MCConfigurationExtended is fully backward compatible such that saved versions will be rendered as simple MCConfiguration without version history in an image that lacks support for the extended format.

A SqueakSource server must have this update applied before it can render a saved MCConfigurationExtended.

by David T. Lewis (lewis@mail.msen.com) at February 04, 2021 03:41 PM

January 29, 2021

source.squeak.org

MorphicExtras-dtl.283

For reloadable Etoys per instructions at http://wiki.squeak.org/squeak/2848 section 2.1
Reclassify curvePrototype, trianglePrototype (Etoys, MorphicExtras)

by David T. Lewis (lewis@mail.msen.com) at January 29, 2021 02:17 AM

Graphics-dtl.445

For reloadable Etoys per instructions at http://wiki.squeak.org/squeak/2848 section 2.1
Reclassify isVirtualScreen (EToys, Graphics)

by David T. Lewis (lewis@mail.msen.com) at January 29, 2021 02:17 AM

EToys-dtl.418

For reloadable Etoys per instructions at http://wiki.squeak.org/squeak/2848 section 2.1
Reclassify isVirtualScreen (EToys, Graphics)
Reclassify curvePrototype, trianglePrototype (Etoys, MorphicExtras)
Reclassify Inteval>>start and stop (Etoys, Collections)

by David T. Lewis (lewis@mail.msen.com) at January 29, 2021 02:16 AM

Collections-dtl.923

For reloadable Etoys per instructions at http://wiki.squeak.org/squeak/2848 section 2.1
Reclassify Inteval>>start and stop (Etoys, Collections)

by David T. Lewis (lewis@mail.msen.com) at January 29, 2021 02:15 AM

January 27, 2021

source.squeak.org

Compiler-mt.454

Adds <noContextSwitch> pragma, which maps to <primitive: 123>. For this, allow parser extensions to be non-keyword (i.e. unary) pragmas. Might have a tiny performance impact when parsing methods with lots of non-keyword pragmas.

January 27, 2021 09:31 AM

VMMaker.oscog-eem.2941

Add explicit variables for the handler and unwind primitive markers (PrimNumberHandlerMarker & PrimNumberUnwindMarker), and add 123 as the no-context-switch marker (PrimNumberNoContextSwitchMarker).

by Eliot Miranda (eliot.miranda@gmail.com) at January 27, 2021 01:37 AM

Kernel-eem.1366

Slightly faster implementation of Context>>#isPrimFailToken:.
Improve the comments in Context>>#isHandlerContext/#isUnwindContext.
Nuke an obsolete method.

by Eliot Miranda (eliot.miranda@gmail.com) at January 27, 2021 12:28 AM

January 26, 2021

source.squeak.org

Morphic-mt.1719

Quick experiment to improve discoverability of modal dialogs. (Might be too annoying when planning to close-confirm many windows in a row.)

January 26, 2021 03:48 PM

January 25, 2021

source.squeak.org

System-eem.1154

Spelling in a class comment

by Eliot Miranda (eliot.miranda@gmail.com) at January 25, 2021 09:22 AM

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

source.squeak.org

CommandLine-ct.19

Don't quit the VM when a warning was raised in a command-line context.

The intention of a Warning is to "be brought to the attention of the user", but is only a kind of Notification ("if it is not handled, it will pass by without effect"), so in contrast to an error ("the current computation is terminated"), there is no need to interrupt the entire execution.
Au contraire, this has often been a very tedious behavior; for example, if you use a deprecated selector in smalltalkCI, it is a good thing to be notified about this incident, but it is a bad thing to interrupt the entire execution just because such an incident has been reported. Note that smalltalkCI is only one example of many; any headless server image should not crash upon a simple deprecation warning for the same reason.

by Christoph Thiede (Christoph.Thiede@student.hpi.uni-potsdam.de) at January 24, 2021 08:24 PM

squeaksource.com

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

source.squeak.org

Morphic-ct.1718

PluggableTextMorph: Fixes #selectAll to keep the current scroll position intact, as it is best practice in most modern editor implementations such as Chromium.

I'm very open to refactoring proposals, but otherwise I don't care if you merge this as-is. :-)

January 24, 2021 04:23 PM

Morphic-ct.1717

Editor: Fixes the 9-enclosing bug, the inability to enclose a text into single quotes, and cleans up the #enclose: implementation.

Pressing 9 while some text is selected now con{sist,veni}ently replaces the selection with a 9 as it is usual for every other digit key as well. If you would like to enclose the current selection within brackets, just enter the bracket (i.e. shift + 9 on a qwerty keyboard) as you would do for square brackets, quotes etc. too.

Reuploaded again to replace Morphic-ct.1588, with the following changes applied:
* Removed the entire keyboard-layout specific logic which was only needed for a VM hack from older times and apparently is not needed any longer
* Eliminated Collections-ct.860 dependency, which will not be merged
* Resolved merge conflicts
* Minor refactoring, documentation, and stability improvements to the previous version
* Compressed diff

See also: http://forum.world.st/When-did-it-become-a-good-idea-for-selected-text-to-be-enclosed-by-instead-of-replaced-by-9-td4936276.html | http://forum.world.st/The-Inbox-Morphic-ct-1588-mcz-td5106961.html.

Depends on Collections-ct.921. Please review! I'm really looking forward to see this in a Trunk soon because the Nine Bug bothers me every time I make some experiments in a fresh image ... ;-)

January 24, 2021 04:04 PM

CollectionsTests-ct.348

Tests Collections-ct.921 (inbox, Dictionary newFromKeys:values:).

January 24, 2021 03:55 PM

Collections-ct.923

Fixes printString representation of Associations and Dictionarys to avoid ambiguous selectors. As a consequence, reevalabuality is not limited any longer.

Examples:
1 -> 2. "--> 1->2"
1 -> -2. "--> 1 -> -2"
Dictionary new at: -1 put: 1; at: 1 put: -1; yourself. "--> a Dictionary(-1->1 1 -> -1)"

January 24, 2021 03:53 PM

KernelTests-ct.383

Removes inappropriate test case for perform primitives with invalid number of arguments. Depends on KernelTests-ct.382.

January 24, 2021 03:39 PM

System-ct.1208

Proposal: Adds query & browse selectors for finding certain primitive methods to SystemNavigation. Also excludes quick methods from #allPrimitiveMethods.

Usage:
self systemNavigation browseAllPrimitiveMethods.
self systemNavigation allPrimitiveMethodsFor: 38.
self systemNavigation browseAllPrimitiveMethodsFor: 62.
self systemNavigation browseAllPrimitiveMethodsFor: 'primitiveFindSubstring'.

by Christoph Thiede (Christoph.Thiede@student.hpi.uni-potsdam.de) at January 24, 2021 02:46 PM

Kernel-ct.1368

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

January 24, 2021 02:19 PM

SystemReporter-eem.48

Tiny neatening.

by Eliot Miranda (eliot.miranda@gmail.com) at January 24, 2021 02:22 AM

EToys-eem.417

Move two base system methods to System.

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

System-eem.1212

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 Eliot Miranda (eliot.miranda@gmail.com) at January 24, 2021 02:18 AM

System-eem.1211

Update the system's copyright.

by Eliot Miranda (eliot.miranda@gmail.com) at January 24, 2021 02:07 AM

January 23, 2021

source.squeak.org

VMMaker.oscog-eem.2940

Implement primitive 18, makePoint in the JIT for Spur, mainly to reduce the noise in the primTraceLog.

by Eliot Miranda (eliot.miranda@gmail.com) at January 23, 2021 05:29 AM

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