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

October 20, 2021

source.squeak.org

Regex-Tests-Core-ct.27

Merges two tests that are no-longer to do.

October 20, 2021 11:09 PM

Regex-Tests-Core-ct.26

Tests nullable closures that are introduced in Regex-Core-ct.70.

Note that #testHenry142 and #testHenry146 will time out until Regex-Core-ct.62 is loaded (fixes copying of cyclic RxmLink structures).
The second match in #testLookaroundNullable currently fails for the same reason as #testOptionalLookbehind2; see Regex-Tests-Core-ct.14.

October 20, 2021 10:36 PM

Regex-Core-ct.70

Adds support for nullable closures and eliminates the eponymous error message. Expressions like these are now parsed and matched correctly:

(a|b?)*
(a*)*
(a+){,3}
()*|
(?<=a)?

This design decision is inspired by the behavior of several existing regex implementations (such as Python's regex module, the ECMAScript standard, .NET, or Java). While some of the examples from above might be pretty useless in practice, especially the first example - conditional nullability - was a serious limitation in many cases before. See regex101.com and https://www.regular-expressions.info/ for further information.

Implementation summary:
Matching nullable closures is non-trivial as, considering the second example from above, the matcher might try to match the inner piece again and again while capturing empty strings for every repetition of the outer piece. We avoid such infinite loops by remembering all open branch positions temporarily while matching a certain path of links in the matcher. If an open branch is reached again at the same position, a match will not possible and is refused immediately. In the parser, #signalNullableClosureParserError and all sends to it are eliminated or replaced by finer-granular validity checks.

Depends indeed on Regex-Core-ct.63 to avoid another merge conflict in the parser.

October 20, 2021 10:26 PM

Regex-Tests-Core-ct.25

Fixes #testOptionalLookbehind2. It still fails, but this time for the real bug in the matcher instead of a lowercase slip in the test.

October 20, 2021 02:32 PM

October 18, 2021

source.squeak.org

VMMaker.oscog-eem.3094

CoInterpreterMT & StackInterpreter must agree on the defs of DisownVMForFFICall & DisownVMForThreading.

by Eliot Miranda (eliot.miranda@gmail.com) at October 18, 2021 11:13 PM

Network-ct.251

Slightly revises the changes from Network-eem.249 so that the https://files.squeak.org/trunk/ example works in a fresh trunk image.

October 18, 2021 08:56 PM

ReleaseBuilder-ct.220

Fixes a bug in the changelog generation of the ReleaseBuilder. Make sure to update and upgrade the build configuration before accessing its dependencies so that also all Trunk versions that are ahead of the latest configuration will be included.

October 18, 2021 08:09 PM

ReleaseBuilder-ct.219

Fixes #requestNextReleaseVersion to always assign both NextMajorVersion and NextMinorVersion. Since the 5.3 release, only the latter was initialized, causing "ReleaseBuilder versionString" to answer "Squeak6.3" without this patch.

Implements #cleanUp: on ReleaseBuilder. Also resets both variables immediately via postscript.

October 18, 2021 05:49 PM

Kernel-ct.1415

Fixes CompiledMethod >> #(reads|writes)Ref: to honor nested code literals (i.e. CompiledBlocks) correctly. The literal index needs to be determined for every literal individually.

With this patch, also the "stores into"/"assignments..." button in tools works again. For example, browsing assignments to the variable NextMinorVersion in the class ReleaseBuilder does not report "no stores into" any longer.

For reference, the first attempt of refactoring these methods was made in Kernel-mt.1244.

October 18, 2021 05:30 PM

SystemReporter-ct.53

Fixes a slip in the new "Image Packages" page of the SystemReporter.

October 18, 2021 04:54 PM

ReleaseBuilder-ct.218

Complements Monticello-ct.747 to fix the new "Image packages" report (cf. SystemReporter-mt.49).

October 18, 2021 04:52 PM

ReleaseBuilder-ct.217

Revises format of auto-generated Markdown changelogs. Don't abuse horizontal lines and enumeration points for all items. Sort the changes by package and time before printing them. For reference, include the version name for every change note.

Also bumps the version number in #changesBetweenReleases to 5.3.

Depends on Collections-ct.958.

October 18, 2021 04:22 PM

Morphic-ct.1787

Don't raise an error when pressing a key while focusing an empty scroll bar (such as the main panel in a freshly opened preference browser).

October 18, 2021 04:00 PM

Morphic-ct.1786

Do not invoke docking bar menu via Ctrl + Shift + <number>. Keep this shortcut available for others morphs.

October 18, 2021 03:52 PM

Regex-Tests-Core-tobe.17

Complements Regex-Core-tobe.62

October 18, 2021 10:55 AM

Regex-Core-tobe.62

Add support for \uXXXX for specifying unicode code points

October 18, 2021 10:55 AM

October 14, 2021

source.squeak.org

VMMaker.oscog-eem.3088

Spur: primitiveSpurStringReplace can be a little faster if checking for compatibility is done separately for pointer and non-pointer objects, but crucially we can afford to make WeakArray and Array compatible, which is useful for Croquet.

by Eliot Miranda (eliot.miranda@gmail.com) at October 14, 2021 12:48 AM

October 13, 2021

source.squeak.org

VMMaker.oscog-eem.3087

CoInterpreter prim trace log:
- record the primitive method instead of the message selector
- add the class of the receiver as a parameter in printing TracePrimitiveFailure events

Fix an anachronism in SpurMemoryManager's class comment.
Fix a slip in Slang revealled by the prim trace log changes.

by Eliot Miranda (eliot.miranda@gmail.com) at October 13, 2021 10:32 PM

VMMaker.oscog-eem.3086

CoInterpreterMT Work in progress towards being able to bind to any other thread than a specific thread.
Process's threadId is now organized as two bits fields. The most significant 14 bits are the threadId; if negative, this means "bind to any thread other than the negation"; if positive, this means "bind to this thread". The least significant 14 bits are the thread the proces is affined to (temporarily bound to). If zero, the Process is not temporarily bound.

Nuke noThreadingOfGUIThread. (hoping also to nuke activeProcessAffined & disowningVMThread).

by Eliot Miranda (eliot.miranda@gmail.com) at October 13, 2021 05:55 PM

squeaksource.com

Doc-tty.50

added sorting bug fix to Doc help

by tty (gettimothy@zoho.com) at October 13, 2021 07:27 AM

source.squeak.org

VMMaker.oscog-eem.3085

Spur32BitPreen to SpurImagePreener rename.
Nuke the unused inSortedFreeListLink:to:given:
When building a code generator, exclude all simulator classes.

by Eliot Miranda (eliot.miranda@gmail.com) at October 13, 2021 12:10 AM

Cog-eem.443

Make Spur32BitPreen image size agnostic, and hence also rename it to SpurImagePreener

by Eliot Miranda (eliot.miranda@gmail.com) at October 13, 2021 12:06 AM

Network-eem.249

Extend HTTPServerDirectory so that it can parse XML descriptions as per e.g. http://files.squeak.org/trunk/. This works, but could really do with a review from someone intimately familiar with ServerDirectory and subclasses.

Hence the following gets the latest trunk images and unpacks them:
| entries |
entries := (HTTPServerDirectory new type: #http)
altUrl: 'http://files.squeak.org/trunk/';
entries.
#('32bit' '64bit') do:
[:bitness| | latest |
latest := (entries select: [:entry| entry name includesSubstring: bitness])
inject: entries first
into: [:best :each| | vnb vne |
vnb := (best name subStrings: '-') second asInteger.
vne := (each name subStrings: '-') second asInteger.
vnb > vne
ifTrue: [best]
ifFalse: [each]].
Cursor write showWhile:
[(Cursor read showWhile:
[ZipArchive new readFrom: (((HTTPServerDirectory new type: #http)
altUrl: (latest containingDirectory altUrl, latest name);
entries) detect: [:entry| entry name endsWith: 'bit.zip']) readStream])
extractAllTo: FileDirectory default
informing: nil
overwrite: true]]

by Eliot Miranda (eliot.miranda@gmail.com) at October 13, 2021 12:04 AM

October 12, 2021

squeaksource.com

Actors-tonyg.123

Guard against not being connected when issueCredit: happens.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at October 12, 2021 08:16 AM

Actors-tonyg.122

More bindActor-ing. (Changes from Oct 2020)

October 12, 2021 06:49 AM

October 11, 2021

squeaksource.com

Preserves-tonyg.21

Rebootstrap

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at October 11, 2021 05:22 PM

Preserves-tonyg.20

Regenerate method if *either* its source or categorization would change.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at October 11, 2021 05:22 PM

Preserves-tonyg.19

Generate schema-module-level index class

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at October 11, 2021 05:08 PM

Preserves-tonyg.18

No need for the current guts of #smalltalkify:. Perhaps later manipulate sub-words like the Rust code does.

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at October 11, 2021 02:53 PM

Preserves-tonyg.17

Fixes after rebootstrapping

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at October 11, 2021 12:43 PM

Preserves-tonyg.15

Hand-rolled intermediate step in bootstrapping new metaschema

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at October 11, 2021 12:17 PM

Preserves-tonyg.16

Bootstrapped metaschema

by Tony Garnock-Jones (tonyg@leastfixedpoint.com) at October 11, 2021 12:17 PM

Doc-tty.49

Fixed bug in

DocOrgToCustumHelpConverter.

Rewrote much of

DocCustomHelpToOrgConverter

it now handles recursion to depth 7.

looks good!

by tty (gettimothy@zoho.com) at October 11, 2021 11:30 AM

October 09, 2021

squeaksource.com

Kernel.V3-dtl.1417

Name: Kernel-mt.1417
Author: mt
Time: 8 October 2021, 9:00:42.746201 am
UUID: 2dbc9442-c2f2-9843-8d3d-077c3f0d4df3
Ancestors: Kernel-eem.1416, Kernel-mt.1413

Merge 8x speed up in #roundUpTo: and #roundDownTo: for integer arguments due to avoiding the creation of intermediate fractions, which also avoids extra GC time.

Thanks to Stephan (stlu) and Levente (ul) for the idea and feedback!

by Dave Lewis (lewis@mail.msen.com) at October 09, 2021 03:00 PM

October 08, 2021

squeaksource.com

SeasideDoc-tty.89

Massive refactor.

Custom Help menu is now Doc.

The Custom Helps render correctly in SeasideDoc.

Must continue testing.

Much over-engieering to be deleted next round.

by tty (gettimothy@zoho.com) at October 08, 2021 07:40 PM

Doc-tty.47

Help topic updates.

Refactoring SeasideDoc so I might have touched something here too.

by tty (gettimothy@zoho.com) at October 08, 2021 07:38 PM

Blend2D-MO.23

empty log message

by Michał Olszewski (miolszewski@outlook.com) at October 08, 2021 12:32 PM

Doc-tty.46

Renamed converters to avoid naming conflicts with FooHelp classes.

by tty (gettimothy@zoho.com) at October 08, 2021 11:33 AM

SeasideDoc-tty.88

Ditching the hard-coded Doclet approach.
Nobody wants to write documentation in image.

Going for completely/mostly dynamic .

by tty (gettimothy@zoho.com) at October 08, 2021 11:05 AM

source.squeak.org

Kernel-mt.1409

8x speed up in #roundUpTo: and #roundDownTo: for integer arguments due to avoiding the creation of intermediate fractions, which also avoids extra GC time.

Thanks to Stephan (stlu) for the idea!

[65 roundUpTo: 64] bench
AFTER '39,500,000 per second. 25.3 nanoseconds per run. 0 % GC time.'
BEFORE '5,180,000 per second. 193 nanoseconds per run. 1.67966 % GC time.'

[65 roundDownTo: 64] bench
AFTER '45,900,000 per second. 21.8 nanoseconds per run. 0 % GC time.'
BEFORE '5,590,000 per second. 179 nanoseconds per run. 2.29908 % GC time.'

Needs testing and review. Known issue: "65.0 roundUpTo: 64" now returns "128.0" but used to return "128".

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

Kernel-mt.1410

Adds missing changes in #roundUpTo:.

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

Kernel-mt.1411

Move the #round(Up|Down)To: changes down to Integer to not slow-down rounding for Float and Fraction. This also speeds it up a tiny bit more because it is now "inlined" without the extra send to #round(Up|Down)ToInteger:.

Thanks to Levente (ul) for the suggestion! (http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-August/216272.html)

14x speed up of #roundTo: using the same strategy.

[65 roundUpTo: 64] bench
AFTER '31,000,000 per second. 32.2 nanoseconds per run. 0 % GC time.'
BEFORE '2,120,000 per second. 472 nanoseconds per run. 0.73985 % GC time.'

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

Kernel-mt.1412

Fixes rounding for negative receivers and negative arguments. Minor slow-down due to extra sign checks.

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

Kernel-mt.1413

Rewrites last change to make it faster again. Thanks to Stephan (stlu)!

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

KernelTests-mt.407

Tests complementing Kernel-mt.1417

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

Kernel-mt.1417

Merge 8x speed up in #roundUpTo: and #roundDownTo: for integer arguments due to avoiding the creation of intermediate fractions, which also avoids extra GC time.

Thanks to Stephan (stlu) and Levente (ul) for the idea and feedback!

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

Kernel-eem.1411

Proposed fix for CompiledCode>>#allLiteralsDo: by adding pushSpecialConstant:/sendSpecial:numArgs:.

Get the bytecode set specific interpretNextInstructionFor: implementations to send sendSpecial:numArgs: and pushSpecialConstant: for special selector sends and implicit literal bytecodes. Insulate existing InstructionClient subclasses by introducing ImplicitLiteralInstructionClientHook as InstructionClient's superclass which implements pushSpecialConstant:/sendSpecial:numArgs: as sends of pushConstant:/send:super:numArgs:. Implement pushSpecialConstant:/sendSpecial:numArgs: in Context. Compiler-eem.460 implements these for the Decompiler.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 08, 2021 06:44 AM

October 07, 2021

source.squeak.org

SqueakSource.sscom-dtl.1132

Merge two more methods from SqueakSource-cmm.1134

by David T. Lewis (lewis@mail.msen.com) at October 07, 2021 11:27 PM

SqueakSource.sscom-dtl.1131

Cherry pick merge from SqueakSource-cmm.1134

by David T. Lewis (lewis@mail.msen.com) at October 07, 2021 10:50 PM

squeaksource.com

Doc-tty.45

Stage commit.

I really screwed up PackageInfo and such with a missing LevelTwoHelp that is somewhere but not really in the system.

Did some hacking during this save to reject nil classes just to get to this point.

The DocOrgToCustomHelp now creates subclasses when a level has sub-levels down to eight.

This DocTestDocumentHelp is a development thing that lets me add complicated features and debug.

call this a new baseline.

by tty (gettimothy@zoho.com) at October 07, 2021 06:17 PM

source.squeak.org

MorphicExtras-ct.294

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

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 07, 2021 02:40 PM

MorphicExtras-ct.295

PianoKeyboardMorph: Don't play a sound when a menu is invoked.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 07, 2021 02:40 PM

MorphicExtras-ct.299

Adds FrameRateMorph to the 'Tools' category of the parts bin. I seriously use this morph for performance measuring.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 07, 2021 02:40 PM

MorphicExtras-mt.300

Merge. Merge. Merge.
- Make proper use of DisplayScreen >>#restoreAfter: in SketchMorph examples.
- PianoKeyboardMorph: Don't play a sound when a menu is invoked.
- Adds FrameRateMorph to the 'Tools' category of the parts bin. I seriously use this morph for performance measuring.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 07, 2021 02:39 PM

squeaksource.com

Doc-tty.44

Moved PEGGrammar from PEGParser to Doc.

Modified parser to add a class comment to the top level help topic. This class comment shows up in the HelpBrowser by default.

I have added a "reference" DocTestDocumentHelp and DocTestDocumentHelp.org to the github for this.

I am now working on improving the heuristics on pages/subclassing and will be adding support for links (?)

by tty (gettimothy@zoho.com) at October 07, 2021 02:15 PM

source.squeak.org

System-ct.1240

MailSender: Allows for empty passwords. Also improves multilingual support. Thanks to David Stes for the pointer!

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

Regex-Core-ct.61

Adds String >> #escapeRegex to escape special characters in a string before composing it into another regex.

Usage:

':-)' matchesRegex: ':-)' escapeRegex

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

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

Collections-ct.947

Proposal: Adds sort function that uses a boolean compare block such as [:a :b | a <= b].

Usage examples:

squotVersions sorted: [:a :b | historyWalker shouldVisit: a before: b] asCompareSortFunction.
#(true nil 42) sorted: #compareSafely: asCompareSortFunction.

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

CollectionsTests-ct.358

Tests Collections-ct.947.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at October 07, 2021 02:05 PM

squeaksource.com

Doc-tty.42

Added HOWTO on setting background image.

Changed naming convention from "Howto Foo" to "Foo HOWTO" to match the linux HOWTO convention.

by tty (gettimothy@zoho.com) at October 07, 2021 09:11 AM

Doc-tty.41

initial commit . Created by DocOrgToCustomHelp.
Also published at github at


https://github.com/gettimothy/Org-SAXHandler

by tty (gettimothy@zoho.com) at October 07, 2021 08:59 AM

September 29, 2021

source.squeak.org

VMMaker.oscog-mt.3078

Fixes building of *.stack* VMs. Adds missing #dumpPrimTraceLogOn: dummy in StackInterpreter, just like the existing #dumpPrintTraceLog.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at September 29, 2021 08:37 AM

September 28, 2021

source.squeak.org

VMMaker.oscog-eem.3077

StaclInterpreter: eliminate some warnings in the wake of the printing putsch. In particular do not map %p to PRIxSQPTR.

by Eliot Miranda (eliot.miranda@gmail.com) at September 28, 2021 11:51 PM

VMMakerUI-eem.47

headFramePointer now belongs in VMMaker proper.

by Eliot Miranda (eliot.miranda@gmail.com) at September 28, 2021 11:49 PM

squeaksource.com

SBE-Quinto-FPR.1

SBE-Quinto Add first version

by Pupo (pupo@posteo.net) at September 28, 2021 10:53 PM

source.squeak.org

VMMaker.oscog-eem.3076

Add primitiveFailFor:withSecondary: to allow the ThreadedFFIPlugin to fail with the new PrimErrFFIMarshallingError and its own specific marshalling error code as a parameter.

StackInterpreter: make sure primitiveCallout is loaded only once from SqueakFFIPrims. C initializer semantics may have meant it was being reloaded every time.

by Eliot Miranda (eliot.miranda@gmail.com) at September 28, 2021 05:53 PM

VMMakerUI-eem.46

Changes to accompany VMMaker.oscog-eem.3075

by Eliot Miranda (eliot.miranda@gmail.com) at September 28, 2021 05:50 PM

VMMaker.oscog-eem.3075

StackInterpreter:
Major change to debug printing so that the platform error handlers can print the call stack to a specific FILE * stream, not simply hack stdout via pushOutputFile.

transcript now becomes a FILE * inst var of StackInterpreter; all printing goes to this file. withRedirectedOutputTo:do: is used to switch it to another stream and implement printCallStackOn: et al. See protocol "debug printing redirected".

Platform changes to follow.

P.S. this commit may be broken because it will be followed by one for ThreasdedFFIPlugin failure codes which is saved for the subsequent commit using the Ignore facility.

by Eliot Miranda (eliot.miranda@gmail.com) at September 28, 2021 05:49 PM

squeaksource.com

Printf-eem.18

Merge. Adds dependency on NumberPrinter in Repository: http://ss3.gemstone.com/ss/NumberPrinter/

Name: Printf-nice.16
Author: nice
Time: 28 September 2021, 2:26:09.620217 am
UUID: 396fb662-1c87-464a-800f-cd7f3bd59d21
Ancestors: Printf-eem.15

This version of Printf use the (Versatile)FloatPrinter package so as to correctly print the float with %aefg.

Note that the output may still differ from C if many digits of precision are requested, because FloatPrinter uses an algorithm to print the shortest float that could be re-interpreted unchanged (roundtrip conversion). Hence it may change not significant trailing digits into zeros.

Example that prints trailing zeroes instead of exact value:
'%.57f' printf: 0.1.

One can retrieve C-like behavior by printing the (true) fraction though:
'%.57f' printf: 0.1 asTrueFraction.

But one shouldn't do that for hex '%a' format, nor for exceptional floats (inf/nan), so it's not a general solution.

Note that current implementation fails to render the requested case for the moment (operator aAeEfFgG). It could be easily solved though.

Note that C printf also force the plus sign when printing a Number rightFlush:
'%+5d' printf: 23.
If we don't want a +, we can use the space specification instead which forces a space:
'% d' printf: 23.
Previously, those rules were not honoured correctly.
To solve this, we introduce a plusSign inst. var., which is assigned by space and rightFlush (+) flags.
A possibly bad side effect, is that turning an agnostic format descriptor into a number format descriptor, would force the plus sign.
To avoid this side effect, the flush inst. var. is now initialized to a neutral #yourself.
Fortunately, alignment is either left or right, so testing == #leftFlush is always discriminating enough, no need to test for #rightFlush or #yourself when rendering.
Testing == #rightFlush is only ever useful for printing the descriptor itself.

by Eliot Miranda (eliot.miranda@gmail.com) at September 28, 2021 04:40 PM

September 27, 2021

squeaksource.com

Printf-eem.17

...and pick up a straggler from the previous commit.

by Eliot Miranda (eliot.miranda@gmail.com) at September 27, 2021 06:23 PM

Printf-eem.16

Split PrintfFormatString into the superclass PrintfFormatter, to be used when outputting to streams, and PrintfFormatString, to be used when a string result is desired. The difference is that PrintfFormatter does not reset its stream before generating output.

Fix parsing of embedded %'s.

by Eliot Miranda (eliot.miranda@gmail.com) at September 27, 2021 06:14 PM

source.squeak.org

Tools-eem.1065

Eliminate a shadowed variable warning.

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

September 26, 2021

squeaksource.com

Doc-tty.35

added XMLElement to the document.

stage commit.

by tty (gettimothy@zoho.com) at September 26, 2021 06:25 PM

September 18, 2021

source.squeak.org

Speech-ct.11

Fix deprecation warnings by switching from #clone to #copy. Ensure order of class initializations.

September 18, 2021 02:08 PM

Environments-ct.83

Fixes a bug in Environment >> #removeKey:ifAbsent:. Make sure that the previous value of the binding is returned regardless of what the binding policies might do with it during removal.

See http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-August/216287.html. Complements Tests-ct.465. Thanks to Jakob (jr) and Tim (tr) for the feedback!

September 18, 2021 01:49 PM

Tests-ct.465

Adds regression test for a bug in Environment >> #removeKey:ifAbsent:.

Make sure that the previous value of the binding is returned regardless of what the binding policies might do with it during removal.

See: http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-August/216287.html

September 18, 2021 01:48 PM

September 17, 2021

squeaksource.com

Doc-tty.30

The WWWXMLTutorialHelp first draft is complete.

All the chapters contain example content from the W3 Schools with attribution and links.

Next up , using this as a roadmap, is to Learn the "Big" XML Package and reproduce/demonstrate techniques from this Help .

by tty (gettimothy@zoho.com) at September 17, 2021 12:45 PM

ConfigurationOfDoc-tty.5

expaned class comment

September 17, 2021 12:37 PM

source.squeak.org

VMMaker.oscog-eem.3071

Allow cFramePointerInUse to be defined at compile time. Some compilers do not use the frame pointer consistently and don't allow overriding their inconsistent use (clang-cl 10).

Clue StackDepthFinder into the implicit literal enumeration fix.

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

Kernel-eem.1414

Merge Kernel-eem.1411

Fix for CompiledCode>>#allLiteralsDo: by adding pushSpecialConstant:/sendSpecial:numArgs:.

Get the bytecode set specific interpretNextInstructionFor: implementations to send sendSpecial:numArgs: and pushSpecialConstant: for special selector sends and implicit literal bytecodes. Insulate existing InstructionClient subclasses by introducing ImplicitLiteralInstructionClientHook as InstructionClient's superclass which implements pushSpecialConstant:/sendSpecial:numArgs: as sends of pushConstant:/send:super:numArgs:. Implement pushSpecialConstant:/sendSpecial:numArgs: in Context. Compiler-eem.460 implements these for the Decompiler.

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

Compiler-eem.460

Decompiler mods for proposed fix for CompiledCode>>#allLiteralsDo: by adding pushSpecialConstant:/sendSpecial:numArgs:.

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

FileAttributesPlugin.oscog-eem.61

Eliminate a compiler warning.

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

squeaksource.com

VMConstruction-Plugins-OSProcessPlugin.oscog-eem.74

Eliminate a compiler warning

by Eliot Miranda (eliot.miranda@gmail.com) at September 17, 2021 01:31 AM

September 16, 2021

squeaksource.com

Doc-tty.29

stage commit on the W3 Help

by tty (gettimothy@zoho.com) at September 16, 2021 07:33 PM

source.squeak.org

VMMaker.oscog-eem.3070

ThreadedFFIPlugin:
Add support for 16 & 32-bit characters.
Rename by value integer/characetr marshalling methods from Byte,Short,Int,LongLong, to 8,16,32,64

Nuke the FFIPlugin; it's truly obsolete now.

by Eliot Miranda (eliot.miranda@gmail.com) at September 16, 2021 06:29 PM

squeaksource.com

Doc-tty.28

Stage commit on initial WWWXMLTutorialHelp

Learning a lot just from the exercise

by tty (gettimothy@zoho.com) at September 16, 2021 05:39 PM

Doc-tty.27

stage commit on XML Help

by tty (gettimothy@zoho.com) at September 16, 2021 04:20 PM

Doc-tty.26

incremental save on XMLHelp

by tty (gettimothy@zoho.com) at September 16, 2021 01:17 PM

Doc-tty.25

Added Priorty method to each new Help class.

This keeps the order of the class names in-sync with the Org. file

A better integration with the expectations of the Help system will be needed at some point, but this is pretty good for now.

WWWXMLTutorialHelp stage commit.

by tty (gettimothy@zoho.com) at September 16, 2021 12:15 PM

Doc-tty.24

Started new documentation for Pillar markup and workflow.
started new documentation for the XML stuff based on the W3 schools tutorials.

goal is to reproduce entire w3 tutorial in thhe WWWXMLTutorialHelp

by tty (gettimothy@zoho.com) at September 16, 2021 10:45 AM

source.squeak.org

FFI-Pools-eem.39

Revised suggestion for adding 16 & 32 bit character types that preserves backwards compatibility.

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

FFI-Tests-mt.65

Complements FFI-Pools-mt.39 and FFI-Kernel-mt.220

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

FFI-Pools-mt.39

Complements/prepares FFI-Kernel-mt.220. Integrates FFI-Pools-eem.39 from inbox.

16-bit and 32-bit character types will simply get type codes 14 and 15 to remain backwards compatible within plugin version 1.

Sketches possible #initializeTypeConstants_v2 for plugin version 2, using 5 bits instead of 4 bits for encoding type codes.

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

FFI-Kernel-mt.220

No signed character types anymore. "char" and "uchar" (and "schar") have all the same type codes for the plugin.

Avoid dependency on type codes in #isCharType and #isIntegerType and #isSigned to support different plugin versions.

Minor fix in #initializeAtomicTypeCodes when removing (un-aliased) atomic type names (here: char8_t, char16_t, char32_t -- these are now aliases for uchar8_t, uchar16_t, uchar32_t).

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

September 13, 2021

source.squeak.org

Kernel-eem.1411

Proposed fix for CompiledCode>>#allLiteralsDo: by adding pushSpecialConstant:/sendSpecial:numArgs:.

Get the bytecode set specific interpretNextInstructionFor: implementations to send sendSpecial:numArgs: and pushSpecialConstant: for special selector sends and implicit literal bytecodes. Insulate existing InstructionClient subclasses by introducing ImplicitLiteralInstructionClientHook as InstructionClient's superclass which implements pushSpecialConstant:/sendSpecial:numArgs: as sends of pushConstant:/send:super:numArgs:. Implement pushSpecialConstant:/sendSpecial:numArgs: in Context. Compiler-eem.460 implements these for the Decompiler.

September 13, 2021 05:28 AM

Kernel-eem.1410

Since Compiledmethod>>= is true if method classes differ, a COmpiledMethod's hash must not tae methodClass into account.

by Eliot Miranda (eliot.miranda@gmail.com) at September 13, 2021 05:24 AM

Compiler-eem.460

Decompiler mods for proposed fix for CompiledCode>>#allLiteralsDo: by adding pushSpecialConstant:/sendSpecial:numArgs:.

September 13, 2021 05:22 AM

Collections-eem.958

Faster at:ifPresent:

by Eliot Miranda (eliot.miranda@gmail.com) at September 13, 2021 05:21 AM

BytecodeSets.spur-eem.81

Proposed fix for CompiledCode>>#allLiteralsDo: by adding pushSpecialConstant:/sendSpecial:numArgs:.

by Eliot Miranda (eliot.miranda@gmail.com) at September 13, 2021 05:20 AM

September 12, 2021

squeaksource.com

Doc-tty.17

add the 'pages' method to the CustomHelp and it now displays as it should.

by tty (gettimothy@zoho.com) at September 12, 2021 09:26 AM

Doc-tty.16

I am now able to compile the CustomHelp containing the HelpTopics .

The display in the HelpBrowser is not working...the class appears, the pages do not.....and I just figured out why..the pages method is missing!

I need to recurse to compile subclasses and include them in the pages.

good progress.

by tty (gettimothy@zoho.com) at September 12, 2021 09:08 AM

source.squeak.org

FFI-Pools-eem.39

Revised suggestion for adding 16 & 32 bit character types that preserves backwards compatibility.

by Eliot Miranda (eliot.miranda@gmail.com) at September 12, 2021 06:39 AM

September 11, 2021

source.squeak.org

VMMaker.oscog-eem.3068

ThreadedFFIPlugin: pass any kind of non-pointer object to non-byte */char * args. We could insist on void *, but let's see how we get on with this.

by Eliot Miranda (eliot.miranda@gmail.com) at September 11, 2021 11:17 PM

squeaksource.com

Doc-tty.15

Its ALIVE!!!

Stage commit.

I can select a (modifed) TerseGuide.org file with the Filechooser and parse it and display it directly in the HelpBrowser.

The modification required is standard ORG mode markup.

of

#+BEGIN_EXAMPLE
foo bar biz
#+END_EXAMPLE

I think I will make this standard on output.

by tty (gettimothy@zoho.com) at September 11, 2021 11:03 AM

September 10, 2021

source.squeak.org

Kernel-ul.1411

- let all Numbers respond to #isPowerOfTwo. - removed Integer >> #isPowerOfTwo because it was not used: all subclasses implement that method

by Levente Uzonyi (leves@caesar.elte.hu) at September 10, 2021 01:55 PM

August 27, 2021

source.squeak.org

VMMaker.oscog-mt.3049

Merge upstream VMMaker.oscog-eem.3048 and update src paths to match Eliot's suggestion: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/573#issuecomment-905099419

by Eliot Miranda (eliot.miranda@gmail.com) at August 27, 2021 05:06 PM

squeaksource.com

StoreBrescianini-LorenzoSchiavina.1

empty log message

August 27, 2021 02:45 PM

source.squeak.org

Kernel-mt.1413

Rewrites last change to make it faster again. Thanks to Stephan (stlu)!

August 27, 2021 08:20 AM

Kernel-mt.1412

Fixes rounding for negative receivers and negative arguments. Minor slow-down due to extra sign checks.

August 27, 2021 08:16 AM

Kernel-mt.1411

Move the #round(Up|Down)To: changes down to Integer to not slow-down rounding for Float and Fraction. This also speeds it up a tiny bit more because it is now "inlined" without the extra send to #round(Up|Down)ToInteger:.

Thanks to Levente (ul) for the suggestion! (http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-August/216272.html)

14x speed up of #roundTo: using the same strategy.

[65 roundUpTo: 64] bench
AFTER '31,000,000 per second. 32.2 nanoseconds per run. 0 % GC time.'
BEFORE '2,120,000 per second. 472 nanoseconds per run. 0.73985 % GC time.'

August 27, 2021 06:38 AM

Kernel-mt.1410

Adds missing changes in #roundUpTo:.

August 27, 2021 06:01 AM

August 26, 2021

squeaksource.com

System.V3-dtl.1241

Name: System-mt.1241
Author: mt
Time: 25 August 2021, 2:20:46.973495 pm
UUID: 969fdd6d-dc9e-2b42-aa0b-fb1c8e40d63a
Ancestors: System-mt.1240

Fixes issue in space tally for SharedPool pools.

by Dave Lewis (lewis@mail.msen.com) at August 26, 2021 09:52 PM

Collections.V3-dtl.954

Name: Collections-dtl.954
Author: dtl
Time: 26 August 2021, 5:06:44.899886 pm
UUID: 62e50672-2876-46a2-8959-6d6eea2cc1e8
Ancestors: Collections-eem.953

Add SOH (start of heading) to the list of recognized separator characters, per follow up disscussion from Collections-pre.857. Rationale explained in http://lists.squeakfoundation.org/pipermail/squeak-dev/2019-October/204555.html

by Dave Lewis (lewis@mail.msen.com) at August 26, 2021 09:49 PM

source.squeak.org

Collections-dtl.954

Add SOH (start of heading) to the list of recognized separator characters, per follow up disscussion from Collections-pre.857. Rationale explained in http://lists.squeakfoundation.org/pipermail/squeak-dev/2019-October/204555.html

by David T. Lewis (lewis@mail.msen.com) at August 26, 2021 09:06 PM

Kernel-mt.1409

8x speed up in #roundUpTo: and #roundDownTo: for integer arguments due to avoiding the creation of intermediate fractions, which also avoids extra GC time.

Thanks to Stephan (stlu) for the idea!

[65 roundUpTo: 64] bench
AFTER '39,500,000 per second. 25.3 nanoseconds per run. 0 % GC time.'
BEFORE '5,180,000 per second. 193 nanoseconds per run. 1.67966 % GC time.'

[65 roundDownTo: 64] bench
AFTER '45,900,000 per second. 21.8 nanoseconds per run. 0 % GC time.'
BEFORE '5,590,000 per second. 179 nanoseconds per run. 2.29908 % GC time.'

Needs testing and review. Known issue: "65.0 roundUpTo: 64" now returns "128.0" but used to return "128".

August 26, 2021 09:43 AM

August 25, 2021

source.squeak.org

VMMaker.oscog-mt.3049

Merge upstream VMMaker.oscog-eem.3048 and update src paths to match Eliot's suggestion: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/573#issuecomment-905099419

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

ToolBuilder-Kernel-mt.146

Clarify commentary of openToolsAttachedToMouseCursor preference.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 25, 2021 12:53 PM

System-mt.1241

Fixes issue in space tally for SharedPool pools.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 25, 2021 12:20 PM

Services-Base-mt.71

Make "create new service"-service not raise a syntax error when cancelled. Remove it from the method-list menu.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 25, 2021 12:13 PM

Monticello-mt.751

Removes dependecy from Services package. Implement "browse revisions" hooks via simple menu extensions in CodeHolder.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 25, 2021 12:10 PM

August 12, 2021

source.squeak.org

Regex-Tests-Core-tobe.13

Complements Regex-Core-tobe.60

August 12, 2021 09:28 AM

Regex-Core-tobe.60

When an escaped character appeared in a charset, we did not handle adjacent ranges correctly

See RxParserTest>>testCharacterSetWithEscapedAndRange for examples.

August 12, 2021 09:27 AM

FFI-Callbacks-mt.26

Ports callback support for ARM64v8 from Alien project.

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

FFI-Kernel-mt.198

Adds preference to opt-out from specific integer primitives, which yields better performance when the FFI plugin does not yet have those new primitives. :-) And it allows for simpler benchmarking.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 12, 2021 08:40 AM

FFI-CallbacksTests-mt.5

Adds test for recent bugfixes.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 12, 2021 07:54 AM

FFI-Tests-mt.58

Adds test for recent bugfixes.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 12, 2021 07:53 AM

August 11, 2021

squeaksource.com

SBE-Quinto-JT.2

by Joseph Turco (italian.pepe.32@gmail.com) at August 11, 2021 10:12 PM

source.squeak.org

FFI-Kernel-eem.197

Fix three mistakes in the new ByteArray integer accessing primitive definitions.

by Eliot Miranda (eliot.miranda@gmail.com) at August 11, 2021 06:27 PM

FFI-Kernel-mt.196

Fixes a remaining issue with ExternalType class >> #initialize. Callback tests did not pass after that. Now they do.

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

FFI-Tests-mt.57

Avoid requesting author initials during tests.

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

FFI-Tests-mt.56

Array types of unknown size do share alignment properties of their content type even if they cannot be used anywhere. Only their pointer types do. Yet, being consistent in calculating the #byteAlignment makes life easier in other parts of the system.

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

FFI-Kernel-mt.195

Fixes bug about "Cannot compute byteAlignment" that occurred when opening an image on one platform that was saved on another.

You can now both use #initialize or #resetAllTypes to update all types when atomics changed. The former preserves object identity, the later needs to be used when changing the amount of atomics or when migrating from a rather old FFI installation.

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

FFI-Kernel-mt.194

Code clean-up and refactoring:
- Rename ...withAccessors: to ...generateAccessors:
- Rename policy #generated to #ifGenerated
- Rename policy #absent to #ifAbsent
- Deprecate #compileFields and #compileFields: in favor if #defineFields and #defineFields:
- Add #defineChangedFields(:), which uses #hasFieldLayoutChanged: and thus distinguishes itself from #defineFields(:)
- After code loading or class reshaping, call #triggerDefineAllChangedFields instead of #triggerDefineAllFields
- Remove obsolete #byteSize from ExternalStructure class; see its instance side

Note that this also fixes a regression, that is, let #defineAllFields and #defineAllChangedFields work as expected.

Note that #defineFields(:) will always compile the field spec and generate (missing) field accessors #ifGenerated.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 11, 2021 08:32 AM

August 10, 2021

squeaksource.com

ParrotTalk-rww.64

refactor SessionOperations

by Robert Withers (rabbit@churchofthesacrifice.org) at August 10, 2021 01:38 PM

ParrotTalk-rww.64

refactor SessionOperations

by Robert Withers (rabbit@churchofthesacrifice.org) at August 10, 2021 01:38 PM

ThunkStack-rww.38

refactor SessionOperations

by Robert Withers (rabbit@churchofthesacrifice.org) at August 10, 2021 01:38 PM

ThunkStack-rww.38

refactor SessionOperations

by Robert Withers (rabbit@churchofthesacrifice.org) at August 10, 2021 01:37 PM

August 09, 2021

source.squeak.org

VMMaker.oscog-eem.3033

Cogit/AndreasSystemProfiling: fix major slip in genCheckForProfileTimerTick:; only take a sample if nextProfileTick > 0. primitiveFlushExternalPrimitives. primitiveUnloadModule & primitiveProfileSemaphore can also endure code movement and need to be side-ways called. Make sure ceActivateFailingPrimitiveMethod: gathers profile samples when profiling. Nuke ceCheckProfileTick and replace it by ceTakeProfileSample: which interpeets null as attributing to newMethod.

Interpreter: abstract comparing a Smalltalk oop aganst a C string.
Slng: eliminate warnigns of liveRegisters shadowing, and of repeated removals of the memory variable.

by Eliot Miranda (eliot.miranda@gmail.com) at August 09, 2021 08:36 PM

VMMakerUI-eem.45

Fix the extra halt on hitting proceed in the click step dialog.

by Eliot Miranda (eliot.miranda@gmail.com) at August 09, 2021 08:02 PM

squeaksource.com

OTAR-jrm.12

The logic to limit recording to two tuners at a time has been tested and implimented. File name construction was modified to put season/episode data ahead of episode name so that file sorting comes out in S/E order.

by John-Reed Maffeo (jrmaffeo@gmail.com) at August 09, 2021 07:54 PM

source.squeak.org

FFI-Kernel-mt.193

Fix bug in compilation order of ExternalStructure fields.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 09, 2021 05:13 PM

FFI-Kernel-mt.192

Fix typo. Sorry for the noise.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 09, 2021 04:52 PM

FFI-Kernel-mt.191

Fixes several code-loading bugs around ExternalStructure.

#doneCompiling needs to recompile/redefine *all* fields. The entire hierarchy of ExternalStructure. Note that #doneCompiling is also currently the hook for loading the methods #fields or #originalTypeName via Monticello. We cannot know the effects of any changed field spec. Local re-compilation/re-definition will not do it.

Therefore, offer a simple way to ensure that re-compilation is only done once for multiple changed field spec. Rely on deferred UI messages. In a CI setting, #tryDefineAllFIelds might need to be called after loading the code. In an interactive setting, this won't be necessary because of the UI process.

by Marcel Taeumel (marcel.taeumel@hpi.uni-potsdam.de) at August 09, 2021 04:50 PM

FFI-Kernel-mt.190

Improves initialization of type aliases during initial code loading. Note that "self defineFields" is still required after changing/implementing #originalTypeName in the alias' referentClass.

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

FFI-Pools-mt.32

Fix package preamble to declare known class names upfront to avoid unnecessary warnings in the Transcript.

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

August 03, 2021

source.squeak.org

VMMaker.oscog-eem.3019

Cog: use symbolic constants for Spur primitive metadata manipulation.
Refactor linkExternalCall:ifFail: into linkExternalCall:errInto: so it doesn't have to be inlined.
Fix mapToBytecodePCIfActivationOfExternalMethod: to asvoid an assert fail for an interpreter frame activation of an external method.
Use faster length accessors (numSlotsOf: numBytesOfBytes:) in a few places.

Reorder teh storing of newMethod and the setting of stack pointers in compileOnStackExternalPrimitive:flags:, as well as making an invariant on VarBase clear.
CroquetPlugin: simulate ioGatherEntropy:_:, along with a hook to supply constant entropy via InitializationOptions.

by Eliot Miranda (eliot.miranda@gmail.com) at August 03, 2021 08:02 AM

August 01, 2021

squeaksource.com

SBE-Quinto-andyf.1

empty log message

by Andy (andifilchev@gmail.com) at August 01, 2021 11:08 AM

July 15, 2021

squeaksource.com

System.V3-dtl.1238

Name: System-mt.1238
Author: mt
Time: 6 July 2021, 2:31:04.816497 pm
UUID: 27e22442-c577-47a1-9746-f2078e38154c
Ancestors: System-eem.1237

Adds query to access last-modified timestamp for TravisCI badge.

by Dave Lewis (lewis@mail.msen.com) at July 15, 2021 11:42 PM

Kernel.V3-dtl.1407

Name: Kernel-eem.1407
Author: eem
Time: 9 July 2021, 2:46:18.688883 pm
UUID: 48a520fa-d6a2-44fa-8508-3405e7e0b8b9
Ancestors: Kernel-mt.1406

Have scanForInstructionSequence: descend into full blocks. Eliminate cases handled by otherwise clause in installVirtualKeyTable. Add error code to resue primitive invocation.

by Dave Lewis (lewis@mail.msen.com) at July 15, 2021 11:32 PM

Kernel.V3-dtl.1406

Name: Kernel-mt.1406
Author: mt
Time: 5 July 2021, 10:40:27.254527 am
UUID: d14ccb5a-8347-9b44-b428-27b8e64b8637
Ancestors: Kernel-mt.1405

To Delay, adds #busyWait for more precise waits on delays shorter than 50 milliseconds.

Complements Chronology-Core-mt.71.

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

Collections.V3-dtl.952

Name: Collections-mt.952
Author: mt
Time: 5 July 2021, 11:33:42.546805 am
UUID: f848913c-5ee8-e349-8b6d-3646fb60c7b0
Ancestors: Collections-ct.951

Now that the simple/faster version of #take: was pushed down to ReadStream, do the same for ReadWriteStream.

Note that we still have to figure out whether we can set the readLimit from the beginning in those ReadWriteStreams.

Also see:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-June/215910.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-July/215958.html

by Dave Lewis (lewis@mail.msen.com) at July 15, 2021 11:27 PM

Collections.V3-dtl.951

Name: Collections-ct.951
Author: ct
Time: 30 June 2021, 11:28:40.378415 pm
UUID: 20041ac2-26ea-5547-a7df-b98ad4b192d6
Ancestors: Collections-mt.945

Fixes Stream >> #take:. Unlike in #any:, we must not return nil values from #next here but the enumeration earlier. However, we can keep the fast behavior for ReadStreams in which #next: automatically stops the enumeration at the end of the receiver. See CollectionsTests-ct.361.

Supersedes Collections-ct.950. Thanks to Marcel for the fast review!

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

July 03, 2021

squeaksource.com

System.V3-dtl.1237

Name: System-eem.1237
Author: eem
Time: 2 July 2021, 6:13:21.540315 am
UUID: 30d3cf8e-708e-4830-86da-21d106f44ba8
Ancestors: System-eem.1236

Fix MessageTally class>>#tallySends:

by Dave Lewis (lewis@mail.msen.com) at July 03, 2021 05:20 PM

System.V3-dtl.1236

Also update special objects array to match oscog expectations where possible.

Name: System-eem.1236
Author: eem
Time: 28 June 2021, 10:13:05.818847 am
UUID: eb4ecd02-13f0-7b48-ac7d-d77dbdfa49f5
Ancestors: System-dtl.1235

Add the new primitive error codes to the specialObjectsArray.

by Dave Lewis (lewis@mail.msen.com) at July 03, 2021 05:19 PM

Kernel.V3-dtl.1405

Name: Kernel-mt.1405
Author: mt
Time: 29 June 2021, 9:12:17.425032 am
UUID: 0c90c979-78a0-8a4a-85b8-35b90f0cbc2d
Ancestors: Kernel-dtl.1404

Fixes regression in mapping modifier keys for keyDown/keyUp events on macOS.

The bug was in the VirtualKeyTable, which had an entry for 0 on macOS, but not on Windows and X11 platforms.

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

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

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

June 14, 2021

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

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

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

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

May 18, 2021

squeaksource.com

CryptographyRSErasure-rww.9

remove old comment

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

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