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 19, 2018

source.squeak.org

VMMaker.oscog-akg.2466

VMMaker Unicode strings

Add VMClass>>asByteArray:size:.

Modify:

- FilePluginSimulator>>fileOpenName:size:write:secure:
- FilePluginSimulator>>fileOpenNewName:size:secure:

to utf8Decode the paths supplied by the in-simulation image. This is required otherwise the simulation, which uses the same code, will attempt to reencode the string with utf8, corrupting the file name.

by Alistair Grant (akgrant0710@gmail.com) at October 19, 2018 09:23 AM

squeaksource.com

Crusoe-Spencer-skw.15

Specify stations

by Spencer Ward (spencerkward@gmail.com) at October 19, 2018 07:58 AM

source.squeak.org

VMMaker.oscog-AlistairGrant.2465

strncpy & primitiveFailForOSError

VMClass>>strncpy:_:_: If the destination buffer is longer than the source buffer, 0 fill the remaining bytes (SVr4, 4.3BSD, C89, C99).
Update associated test case.

Add SpurMemoryManager>>primitiveFailForOSError: (based off #primitiveFailFor:).

by Alistair Grant (akgrant0710@gmail.com) at October 19, 2018 06:00 AM

squeaksource.com

VMConstruction-Plugins-OSProcessPlugin.oscog-AlistairGrant.60

UnixOSProcessPluginSimulator

Provides a minimal implementation to allow UnixOSProcessPlugin>>primitiveGetCurrentWorkingDirectory to be used in the VM simulator.

Also:

- add error checking and fail if object allocation fails in #primitiveGetCurrentWorkingDirectory.
- Use the new C method naming (getcwd:_:)

by Alistair Grant (akgrant0710@gmail.com) at October 19, 2018 05:25 AM

source.squeak.org

VMMaker.oscog-eem.2464

Cogit Slang Reflection:
Fix nasty bug with CogAbstractInstruction computing opcodes via reflection caused by full blocks. We must use method allLiterals to include literals in blocks now. SysV is referenced only from blocks in CogX64Compiler class>>#initialize and so with full blocks SysV was being moved to Undeclared, causing invalid source generation for the X64 cogits.

by Eliot Miranda (eliot.miranda@gmail.com) at October 19, 2018 04:02 AM

VMMaker.oscog-eem.2463

Oops! Fix the major regressions in the last but one commit.

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

VMMaker.oscog-eem.2462

JPEGReadWriter2Plugin:
Fix a regression in the last commit.

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

VMMaker.oscog-eem.2461

Plugins:
BitBltSimulation
Fix a bug where the copyBits primitive read past the end of the source bitmap. sourceSkewAndPointerInit would sometimes compute preload true and skew truye before then setting skew to -32. There was a hack fix in copyLoop, but the real bug in copyLoop was the inner loop special case for rule 3 (over, or STORE). It must fall back to the loop beginning "thisWord := self srcLongAt: sourceIndex." when preload is false, only using the loop beginning "self dstLongAt: destIndex put: prevWord." when preload and: [hDr = 1] is true. Simplify the preload calculation in sourceSkewAndPointerInit by computing a mask similar to mask1 and comparing it against mask1 to see that no bits would be lost (if the mask computed for source is larger than mask1 then a preload is necessary). Hence simplify the unskew and skewMask setup in copyLoop.

Improve the performance of primitiveDisplayString by pulling the lockSurfaces and unlockSurfaces implicit in copyBits out of the loop and replacing copytBits with copyBitsLockedAndClipped in the loop.

Fix primitivePixelValueAt so that it simulates correctly.

Other plugins:
Remove null implementations of initialiseModule and/or shutdownModule. The loader/unloader nvokes these only if they exiust, consequently null versions are simply a waste of time and space.

Simulation:
Add support for computing the hash of the destination bitmap after copyBits in BitBltSimulator which was key in identifying the cases for which the above BitBltSimulation>>copyLoop bug fix applied.

Rewrite JPEGReadWriter2Plugin so that it simulates. This is now a nice example of a recursive SmartSyntaxPlugin; the simulation of the plugin relies on the real implementation of the plugin in the underlying VM.

Fix InterpreterProxy>>byteSizeOf: for 64-bits and for bits objects. Implement CArray>>asByteArray & CArray>>overwriteContentsWith: to ease copying bytes to/from the heap when simulating primitives (key for the JPEGReadWriter2Plugin simulation support).

Fix the return value of InterpreterProxy halt during simulation.

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

October 18, 2018

squeaksource.com

VMConstruction-Plugins-XDisplayControlPlugin-eem.16

Remove null implementations of initialiseModule and/or shutdownModule. The loader/unloader invokes these only if they exist, consequently null versions are simply a waste of time and space.

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

VMConstruction-Plugins-OSProcessPlugin.oscog-eem.59

Remove null implementations of initialiseModule and/or shutdownModule. The loader/unloader invokes these only if they exist, consequently null versions are simply a waste of time and space.

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

VMConstruction-Plugins-AioPlugin-eem.22

Remove null implementations of initialiseModule and/or shutdownModule. The loader/unloader invokes these only if they exist, consequently null versions are simply a waste of time and space.

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

source.squeak.org

Chronology-Core-cmm.15

- Add Timespan>>#beCanonical so that dates created via "myDateAndTime asDate" can be made canonical.
- A fix and optimization of Timespan>>#=. Both elements being compared must have the same timezone (or same state of #noTimezone) in order to take advantage of the optimized #hasEqualTicks: comparison. Otherwise (if different timezones), a full comparison of their starts (via #=) is needed.
- There was a mention of this optimization put into the class comment. This level of detail may be a bit tedious for users to read at that level, so Brents original comment was restored.

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

squeaksource.com

Crusoe-Spencer-skw.14

Find station code from name

by Spencer Ward (spencerkward@gmail.com) at October 18, 2018 06:28 PM

Crusoe-Spencer-skw.13

Search finds cheapest ticket on each day.

by Spencer Ward (spencerkward@gmail.com) at October 18, 2018 03:30 PM

Crusoe-Spencer-skw.12

Search over long period

by Spencer Ward (spencerkward@gmail.com) at October 18, 2018 12:50 PM

Crusoe-Spencer-skw.11

Ticket object introduced

by Spencer Ward (spencerkward@gmail.com) at October 18, 2018 12:24 PM

BabySRE2018-hjh.15

Another #allItalics fix.

October 18, 2018 11:20 AM

Crusoe-Spencer-skw.10

Calculate cheapest ticket.

by Spencer Ward (spencerkward@gmail.com) at October 18, 2018 11:11 AM

BabySRE2018-hjh.14

Added to more in place replacements for the missing

Text>>allItalics

method.

text addAttribute: TextEmphasis italic from: 1 to: text size "allItalics"

Later if Squeak has #allItalics this should be reverted.

October 18, 2018 11:03 AM

Crusoe-Spencer-skw.9

Introduce SearchResult object to wrap journies.

by Spencer Ward (spencerkward@gmail.com) at October 18, 2018 10:19 AM

Crusoe-Spencer-skw.8

Trainline search returns Journey objects

by Spencer Ward (spencerkward@gmail.com) at October 18, 2018 09:26 AM

ConfigurationOfMemcached-SvenVanCaekenberghe.4

update to stable v3

October 18, 2018 08:56 AM

Memcached-SvenVanCaekenberghe.26

Minor fix to MDCacheClientBase>>#get: (use #ifNotNil: instead of #ifNotNilDo:) to make all tests green again

October 18, 2018 08:54 AM

source.squeak.org

Chronology-Core-cmm.14

- A fix and optimization of Timespan>>#=. Both elements being compared must have the same timezone (or same state of #noTimezone) in order to take advantage of the optimized #hasEqualTicks: comparison. Otherwise (if different timezones), a full comparison of their starts (via #=) is needed.
- There was a mention of this optimization put into the class comment. This level of detail may be a bit tedious for users to read at that level, so Brents original comment was restored.

by Chris Muller (ma.chris.m@gmail.com) at October 18, 2018 03:07 AM

October 17, 2018

source.squeak.org

Chronology-Core-cmm.13

Fix DateAndTime today asDate = Date today even when not in GMT.

by Chris Muller (ma.chris.m@gmail.com) at October 17, 2018 09:04 PM

squeaksource.com

ArbitraryPrecisionFloat-nice.3

Release on SM

October 17, 2018 07:33 PM

ArbitraryPrecisionFloat-nice.1

Creation as Monticello Package

October 17, 2018 07:30 PM

BroomMorphs-Base-cmm.4

Patches for Squeak 5.2.

by Chris Muller (ma.chris.m@gmail.com) at October 17, 2018 06:14 PM

source.squeak.org

Tools-eem.833

Fix a bug with DebuggerMethodMap and full blocks (Sista V1 bytecode set). DebuggerMethodMap must be careful to use the right kind iof dictionry (Dictionary vs IdentityDictionary) for mapping startKeys to block starts and block starts to temps. startKeys may be values (startpc with embedded blocks) or objects (initialPC and block itself for full blocks). And blockExtentsToTempRefs must always be a Dictionary ince block extents are ranges.

[N.B. Tools-eem.832 contained a broken fix for this bug, sending the message homeMethod to aContext, instead of aContext home method]

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

KernelTests-pre.350

Restores the float gradual undeflow test disabled for the 5.2 release

by Patrick Rein (patrick.rein@gmail.com) at October 17, 2018 03:51 PM

squeaksource.com

Crusoe-Spencer-skw.7

Parse trainline result into JsonObject

by Spencer Ward (spencerkward@gmail.com) at October 17, 2018 09:30 AM

October 14, 2018

source.squeak.org

Multilingual-pre.241

Converts the line end string to be used by the TextConverter to the encoding of the converter before installing it.

by Patrick Rein (patrick.rein@gmail.com) at October 14, 2018 09:05 AM

MultilingualTests-pre.36

Reverts the revert of MultiByteFileStreamTest>>testLineEndConvention:withConverter:ifFail: to actually test for MultiByteFileStream

by Patrick Rein (patrick.rein@gmail.com) at October 14, 2018 09:01 AM

ReleaseBuilder-fn.191

Bumps the image version to Squeak5.3alpha after the Squeak5.2 release.

by Fabio Niephaus (code@fniephaus.com) at October 14, 2018 07:50 AM

ReleaseBuilder-fn.190

Bumps version to Squeak5.2 stable.

by Fabio Niephaus (code@fniephaus.com) at October 14, 2018 07:48 AM

October 13, 2018

source.squeak.org

WebClient-Tests-pre.56

Fixes two timing-related test failures which did not indicate actually missing functionality.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:40 PM

Morphic-eem.1464

From Stéphane Rollandin:

I found a little bug, which notably makes system windows not able to
have both rounded corners and a gradient look. It is in method Canvas>>#frameAndFillRoundRect:radius:fillStyle:borderStyle:. The #asColor call there should be removed: we need to give the full fill style.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:39 PM

MorphicExtras-pre.246

Removes the FancyMailComposition>>#mvcOpen which was deprecated. Moves the EPSCanvasTest to Morphic-Extas-Tests and implements the missing UserInterfaceTheme methods in the ObjectsTool.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:39 PM

Tests-pre.402

Updates the package dependency tests

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:38 PM

ToolsTests-pre.86

Updates the DependencyBrowserTest which relies on the particular dependencies currently present in the core packages. The comment already predicted that this might happen.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:37 PM

KernelTests-pre.349

Temporarily disables an underflow test which fails depending on the word size of the VM.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:37 PM

Chronology-Tests-pre.9

Adds an expected failure in DateAndTimeLeapTest. The failure is limited to one method which will be marked as a known issue.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:36 PM

Network-pre.227

Fixes a direct reference to the FileChooserDialog and replaces it with a call to UIManager.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:35 PM

Help-Squeak-Project-pre.63

Reverting the changed installation instructions for OCompletion as suggested by Levente at http://forum.world.st/The-Trunk-Help-Squeak-Project-pre-60-mcz-tp5086850p5086855.html

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:08 PM

MorphicExtrasTests-pre.5

Moves the EPSCanvasTest to Morphic-Extas-Tests

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:07 PM

Installer-Core-cmm.424

Add an OCompletion package-definition to Installer based on Levente's lightweight version.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:07 PM

Multilingual-pre.240

Makes a reference to WebClient in an utility method indirect as it introduces the only dependency between Multilingual and WebClient.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:07 PM

MultilingualTests-fn.35

Excludes TextConverters that do not support line end conversion yet in #testLineEndConversion, revert to older version of MultiByteFileStreamTest>>testLineEndConvention:withConverter:ifFail:, and add #testLineEndConversionExpectedFailures.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:05 PM

60Deprecated-pre.25

Deprecates the mvcOpen method of FancyMailComposition. It introduces a dependency from Morphic to ST-80 and the tool, if to be preserved, should be toolbuilderized.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 05:03 PM

ReleaseBuilder-fn.190

Bumps version to Squeak5.2 stable.

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 04:01 PM

SUnitGUI-tpr.69

Drop the use of the abominable instVarAt*

by Fabio Niephaus (code@fniephaus.com) at October 13, 2018 03:23 PM

October 12, 2018

squeaksource.com

Crusoe-Spencer-skw.4

Station returns journeys. Implementation slimed to pass test.

by Spencer Ward (spencerkward@gmail.com) at October 12, 2018 04:23 PM

ConfigurationOfSIXX-MasashiUmezawa.17

Added 0.5.0 description

October 12, 2018 01:14 PM

October 11, 2018

squeaksource.com

Magma-Server-cmm.515

MagmaSession>>#cacheAt: and #cacheAt:put: are intended for server-side use only.

by Chris Muller (ma.chris.m@gmail.com) at October 11, 2018 05:50 PM

October 10, 2018

squeaksource.com

System.V3-dtl.1043

Name: System-pre.1043
Author: pre
Time: 8 October 2018, 2:14:05.659633 pm
UUID: e558e323-7754-584e-9983-ffa439fd31cd
Ancestors: System-pre.1042

In order to make the new Git version control infrastructure more accessible, this commit adds the new Installer script to the Do menu.

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

Maui-Core-cmm.531

Squeak 5.2, border refactoring requires setting borderStyle: FIRST, before #borderWidth and #borderColor.

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

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 October 10, 2018 07:54 PM

Ma-Core-cmm.309

Moved Debugger class>>#rememberExtent: to appease the Squeak sages.

by Chris Muller (ma.chris.m@gmail.com) at October 10, 2018 07:54 PM

Magma-Server-cmm.514

- Changes for Squeak being 64-bit going forward.
- NetNameResolver localHostName will sometimes report '0.0.0.0' which causes problems with relocating a primary Magma server to a different host. Therefore, use the new NetNameResolver maLocalHostName instead.

by Chris Muller (ma.chris.m@gmail.com) at October 10, 2018 07:52 PM

Magma-Tester-cmm.428

NetNameResolver localHostName will sometimes report '0.0.0.0' which causes problems with relocating a primary Magma server to a different host. Therefore, use the new NetNameResolver maLocalHostName instead.

by Chris Muller (ma.chris.m@gmail.com) at October 10, 2018 07:52 PM

Ma-Client-Server-Core-cmm.285

Whenever "NetNameResolver localHostName" might return '0.0.0.0', it creates problems with Ma Client Server and Magma. Therefore, added #maLocalHostName which checks for this and, if it returns '0.0.0.0', call out to Linux to ask its 'hostname', in order to determine the localhost name.

by Chris Muller (ma.chris.m@gmail.com) at October 10, 2018 07:52 PM

Ma-Client-Server-Tester-cmm.171

NetNameResolver localHostName will sometimes report '0.0.0.0' which causes problems with relocating a primary Magma server to a different host. Therefore, use the new NetNameResolver maLocalHostName instead.

by Chris Muller (ma.chris.m@gmail.com) at October 10, 2018 07:52 PM

Magma-Client-cmm.735

- Now that Squeak is 64-bit going forward, increase MaByteSequenceIndex default keySize to 64 bits.
- Introduced a new configuration message for MagmaSessions. I had a multi-core application that was saturating a server with Upon creation of a MagmaSession, immediately before or after connecting, the client may use #prefer: aMagmaRemoteLocation for: aMagmaId to round-robin the secondary servers so that the read load can be distributed and support more client cores.
- The latest spur VM no longer supports (nor needs) some of the GC fine-tuning mechanisms.

by Chris Muller (ma.chris.m@gmail.com) at October 10, 2018 07:40 PM

October 09, 2018

source.squeak.org

VMMaker.oscog-eem.2451

Spur: Tweak followClassTable toi not waste effort following hiddenRootsObj.
FilePlugin: avoid createDirectory: hack.
Recategorise asString:[size:]

by Eliot Miranda (eliot.miranda@gmail.com) at October 09, 2018 11:05 PM

October 06, 2018

source.squeak.org

SMLoader-cmm.92

Begin to phase out 'published' flag unless we can remember what the original purpose of this level of detail in the model was for.

by Chris Muller (ma.chris.m@gmail.com) at October 06, 2018 07:59 PM

squeaksource.com

BabySRE2018-hjh.13

Renamed package

October 06, 2018 07:19 AM

BabySRE2018-hjh.12

Added code so that the availability of
Text>>allItalics
is not a prerequisite.

by Hannes Hirzel (hannes.hirzel@gmail.com) at October 06, 2018 06:29 AM

October 05, 2018

squeaksource.com

Crusoe-Spencer-skw.3

Station test passes. Empty Timetable class added.

by Spencer Ward (spencerkward@gmail.com) at October 05, 2018 07:46 PM

Crusoe-Spencer-skw.2

A failing test for Station.

by Spencer Ward (spencerkward@gmail.com) at October 05, 2018 06:57 PM

Crusoe-Spencer-skw.1

A learning journey in Squeak. I'll be getting in my Dreyfuss Squeak hours by writing whatever Smalltalk code I can think of.

by Spencer Ward (spencerkward@gmail.com) at October 05, 2018 06:42 PM

source.squeak.org

VMMaker.oscog-cb.2448

Introduced the concept of lilliputian free chunks, which are free chunks not big enough to use the double linked list design. They do not exist in 32 bits but only in 64bits.

Rewrote bytesBigEnoughForPrevPointer: to not isLilliputianSize:

Fix SpurSelectiveCompactor to have a specific logic for lilliputian chunks: selective sweep phase now sort the lilliputian free chunk in ascending order without overhead by having an extra variable (O(1) memory complexity), that same variable is used so that the compaction algorithm now iterate over the lilliputian linked list as it compacts selected segments (compaction is in ascending addresses per segments and inside segments to compact), decreasing the worst complexity of lilliputian management from N^2 to N, which makes sense in large heaps (>2Gb) since that single linked list is millions of elements.

At 20Gb among 40 compaction pauses on a benchmark, I had 37 under 8ms and 3 >1 sec because of these lilliputian free chunks. Now rebenching but preliminary results show that everything should be below 10ms now :-)

The name lilliputian is chosen for multiple reasons:
- lilliputian people are very small, like these smallest free chunks
- complex logic specifically for these very small chunks looks complete non sense to me, like the recent British politic (see Brexit), and lilliputian people are in the book a parody of British politics.

by ClementBera (bera.clement@gmail.com) at October 05, 2018 11:19 AM

October 04, 2018

squeaksource.com

Croquet-Spencer-skw.5

bounding sphere and click events

by Spencer Ward (spencerkward@gmail.com) at October 04, 2018 08:52 AM

Croquet-Spencer-skw.3

TMyCube has 6 faces

by Spencer Ward (spencerkward@gmail.com) at October 04, 2018 07:52 AM

Croquet-Spencer-skw.2

Render MyCube face

by Spencer Ward (spencerkward@gmail.com) at October 04, 2018 07:50 AM

Croquet-Spencer-skw.1

Starting on the Croquet tutorial with an empty TMyCube

by Spencer Ward (spencerkward@gmail.com) at October 04, 2018 07:43 AM

source.squeak.org

VMMaker.oscog-cb.2447

Production VM:
- Fixed a bug in removeSegment: where invalid memory would be accessed when the segment info array was full & a segment removed.

SelectiveCompactor VM:
- Fixed a bug in primitiveResume when a context forwarder is found.
- Fixed SelectiveCompactor postCompaction forwarding logic
-> Just ran SelectiveCompactor with >20Gb workloads without crashes with these fixes.

Might be some redundancy that I need to check in following logic with other code in the VM.

by ClementBera (bera.clement@gmail.com) at October 04, 2018 07:41 AM

VMMaker.oscog-cb.2446

Split the VMParameter primitive in 3 methods in Slang. I did it because of jump false size overflow on V3PlusClosure BC set, but it also look nicer.

Add code to monitor the longest segment allocation pause (parameter 74).

by ClementBera (bera.clement@gmail.com) at October 04, 2018 07:25 AM

October 03, 2018

squeaksource.com

Crusoe-Perfect-SKW.10

Add toWord extension to Integer

by Spencer Ward (spencerkward@gmail.com) at October 03, 2018 07:30 AM

October 02, 2018

source.squeak.org

VMMaker.oscog-cb.2445

Change the objStack logic to mmap a new memory segment on overflow if not enough room on heap when allocating a new page.

Happened to me reliably on ~20Gb heap that the mark stack would overflow without enough space on heap during marking to allocate a new page. This code fixed the bug.

by ClementBera (bera.clement@gmail.com) at October 02, 2018 12:59 PM

VMMaker.oscog-eem.2445

Fix degenerate calculations of preload and skew (i.e. a preload that sets notSkewMask to all ones and skewMask to zero, and there-by fix accessing the word beyond the end of a bitmap. If using external forms such access can crash the VM by trying to access a word that is not in memory (e.g. in an unmapped page). N.B. when preload is true, notSkewMask is all ones and skewMask is zero this extra word is read but discarded.

Clean up primitiveCopyBits & primitiveWarpBits to use the more modern (and simpler) methodReturnReceiver style.

Recategorise some C library extensions as such.

by Eliot Miranda (eliot.miranda@gmail.com) at October 02, 2018 11:47 AM

September 27, 2018

squeaksource.com

Crusoe-Perfect-pab.9

Merge conflicting change

September 27, 2018 09:54 AM

Crusoe-Perfect-pab.8

Conflicting branch

September 27, 2018 09:43 AM

Crusoe-Perfect-pab.7

Alternate implementation

September 27, 2018 09:39 AM

Crusoe-Perfect-pab.6

Merge Spencers changes

September 27, 2018 09:26 AM

September 26, 2018

source.squeak.org

VMMakerCompatibilityForPharo6-eem.9

More compatbility. InstructionPrinter et al are missing in Pharo6 and subsequent. RBProgramNode methods for Slang. GtTranscript compatibility.

by Eliot Miranda (eliot.miranda@gmail.com) at September 26, 2018 09:34 PM

ToolsTests-pre.85

Actual change is a fix of the BrowserTest>>#testMessageCategoryList. From my brief study of the source code the test does not make any statement about the sorting of the categories.

Could not resist improving the categorization of tests while being at it.

by Patrick Rein (patrick.rein@gmail.com) at September 26, 2018 03:35 PM

September 25, 2018

source.squeak.org

WebClient-Core-pre.103

Backported from trunk WebClient-Core-pre.117

Fixes an issue with chunked encoded WebMessages which resulted in already decoded content to be decoded again. While not perfect it is important to allow for larger GitHub repositories such as Metacello.

by Patrick Rein (patrick.rein@gmail.com) at September 25, 2018 01:33 PM

September 24, 2018

source.squeak.org

ToolsTests-eem.84

Fix testAlphabetizeMessageCategories; sorting now separates out extensions, non-private categories and private categories.

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

September 22, 2018

squeaksource.com

Crusoe-Perfect-pab.5

Added missing extension methods

September 22, 2018 08:23 AM

Crusoe-Perfect-SKW.5

A test without any implementation.

by Spencer Ward (spencerkward@gmail.com) at September 22, 2018 07:18 AM

September 21, 2018

squeaksource.com

Crusoe-Perfect-pab.4

Move test methods to instance side

September 21, 2018 07:43 PM

Crusoe-Perfect-pab.3

Commit following testing

September 21, 2018 06:34 PM

Crusoe-Perfect-pab.2

Added extension methods to Integer
Added another test

September 21, 2018 06:34 PM

Crusoe-Perfect-pab.1

Initial commit to Monticello

September 21, 2018 06:34 PM

September 20, 2018

source.squeak.org

VMMaker-eem.397

Add support for the varargs convention (good for eliminating cCode:). Port the much simplified FilePlugin/FilePluginSimulator directory primitive support from VMMaker.oscog.

by Eliot Miranda (eliot.miranda@gmail.com) at September 20, 2018 11:40 PM

squeaksource.com

VMConstruction-Plugins-XDisplayControlPlugin-eem.15

Refactor st:rn:cpy: => strncpy:_:_:

by Eliot Miranda (eliot.miranda@gmail.com) at September 20, 2018 10:47 PM

VMConstruction-Plugins-OSProcessPlugin.oscog-eem.58

Refactor st:rn:cpy: => strncpy:_:_: et al & minor cleanups.

by Eliot Miranda (eliot.miranda@gmail.com) at September 20, 2018 10:45 PM

VMConstruction-Plugins-AioPlugin-eem.21

Refactor st:rn:cpy: => strncpy:_:_:

by Eliot Miranda (eliot.miranda@gmail.com) at September 20, 2018 10:44 PM

source.squeak.org

VMMaker.oscog-eem.2444

Eliminate cCode: usage in the B3DAcceleratorPlugin and HostWindowPlugin usign the new "var args" style. Rewrite mem:mo:ve: et al in the new style.

Fix TMethod>>statementsFor:varName: for Pharo.

by Eliot Miranda (eliot.miranda@gmail.com) at September 20, 2018 07:09 PM

September 19, 2018

squeaksource.com

AST-Core-eem.97

Hack fix RBScanner class>>isSelector: so that #foo:_: et al are considered selectors.

by Eliot Miranda (eliot.miranda@gmail.com) at September 19, 2018 11:15 PM

AST-Core-eem.96

Hack fix for underscore keywords as in foo: a _: b ^a + b

by Eliot Miranda (eliot.miranda@gmail.com) at September 19, 2018 09:52 PM

AST-Tests-Core-eem.15

Add tests for underscore keyword arguments as in foo: a _: b ^a + b

by Eliot Miranda (eliot.miranda@gmail.com) at September 19, 2018 09:51 PM

source.squeak.org

VMMaker.oscog-eem.2443

Oops; remember to use isFakeStdinStream, and avoid isKindOf: in a couple of other places.

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

VMMaker.oscog-eem.2442

Final piece of Pharo compatibility to allow e.g. the REPL startreader images to run in Pharo 6.1. Split the input dialog for FakeStdinStream so it works both on Pharo and Squeak.

by Eliot Miranda (eliot.miranda@gmail.com) at September 19, 2018 04:22 PM

squeaksource.com

Collections.V3-dtl.806

Name: Collections-eem.806
Author: eem
Time: 18 September 2018, 11:54:09.798435 am
UUID: 300fdef5-d563-4e05-b16c-f82c15cc005f
Ancestors: Collections-cmm.805

Fix String>>numArgs for _: keywords (to accompany Compiler-eem.394)

by Dave Lewis (lewis@mail.msen.com) at September 19, 2018 01:41 AM

Compiler.V3-dtl.394

Name: Compiler-eem.394
Author: eem
Time: 18 September 2018, 11:01:49.239937 am
UUID: 446b4a31-2799-41fa-82d4-e503a94fb360
Ancestors: Compiler-bf.393

Fix a bug in Scanner>>xUnderscore that prevented parsing e.g.

method: p _: q _: r
^'cool'

by Dave Lewis (lewis@mail.msen.com) at September 19, 2018 01:39 AM

September 18, 2018

source.squeak.org

VMMaker.oscog-eem.2441

Make sure is:KindOf: has a valid return type.

by Eliot Miranda (eliot.miranda@gmail.com) at September 18, 2018 10:46 PM

VMMaker.oscog-eem.2440

More Pharo compatibility.

Refactor FilePluginSimulator simulation of primitiveDirectoryEntry & primitiveDirectoryLookup (primLookupEntryIn:name: & primLookupEntryIn:index:) so that the actual primitives in FilePlugin are simulated. Modify Slang to strip trailing underscores from selectors when constructing C function names, allowing a nice "varargs" convention (we should use this to get rid of my horrible hacks such as mem:cp:y:, st:rn:cpy: et al, which are too difficult to read or remember). Improve CObjectAccessor printing for cases like dir_[Entry]Lookup:_:_:_:_:_:_:_:_:_:_:_: so we can see the fake pointer accessors.

Eliminate the variation on dir_[Entry]Lookup between PharoVM and SqueakVM, leaving the difference only in makeDirEntryName:size:createDate:modDate:isDir:fileSize:[posixPermissions:isSymlink:]. (Hence a new FilePlugin must be coordinated with platfiorm code changes).

Fix a bug in attemptToComputeTempNamesFor: with methods with blocks but no top level temps.

Haver statementsFor:varName: work in Pharo as well as Squeak.

Remove an and:and: from bindVariableUsesIn:andConstantFoldIf:in:

by Eliot Miranda (eliot.miranda@gmail.com) at September 18, 2018 10:38 PM

Collections-eem.806

Fix String>>numArgs for _: keywords (to accompany Compiler-eem.394)

by Eliot Miranda (eliot.miranda@gmail.com) at September 18, 2018 06:54 PM

Compiler-eem.394

Fix a bug in Scanner>>xUnderscore that prevented parsing e.g.

method: p _: q _: r
^'cool'

by Eliot Miranda (eliot.miranda@gmail.com) at September 18, 2018 06:01 PM

September 17, 2018

source.squeak.org

WebClient-Core-pre.117

Fixes an issue with chunked encoded WebMessages which resulted in already decoded content to be decoded again. While not perfect it is important to allow for larger GitHub repositories such as Metacello.

by Patrick Rein (patrick.rein@gmail.com) at September 17, 2018 03:01 PM

September 16, 2018

squeaksource.com

MQTT-tpr.24

Fix stupid typo in publish topic checking where the wild chars were incorrectly listed as # and * instead of # and +.
Clean up some topic checking for Connect, Publish and Subscription packets.

by tim rowledge (tim@rowledge.org) at September 16, 2018 04:10 AM

September 15, 2018

source.squeak.org

Collections-topa.807

Revert for consistency and, subsequently, speed.

The correct fix is not as trivial and not fit in the beta phase.

Sorry, Ron.

by Chris Muller (ma.chris.m@gmail.com) at September 15, 2018 08:18 PM

Collections-topa.806

Fix separators to include U+00A0 (no break space)

Thanks Ron!

by Chris Muller (ma.chris.m@gmail.com) at September 15, 2018 08:17 PM

Help-Squeak-Project-ul.59

- up-to-date OCompletition load script

by Levente Uzonyi (leves@elte.hu) at September 15, 2018 07:23 PM

September 11, 2018

squeaksource.com

Shampoo-DmitryMatveev.16

Made it work in Pharo6.0 (and later, probably)

by Dmitry Matveev (dmm1989@gmail.com) at September 11, 2018 07:00 AM

September 10, 2018

squeaksource.com

Finance-OP.2

Just a backup

by duckflyer (duckflyer@gmail.com) at September 10, 2018 04:30 PM

YBuffer-Tests-Seaside-pmm.5

- make tests run

by marschal (philippe.marschall@gmail.com) at September 10, 2018 07:29 AM

YBuffer-Pharo-Core-pmm.20

- make tests run

by marschal (philippe.marschall@gmail.com) at September 10, 2018 07:29 AM

September 09, 2018

source.squeak.org

VMMakerCompatibilityForPharo6-eem.8

Add translation support for brace constructs in case statements.
And include a *Tools extension for TranscriptStream.

by Eliot Miranda (eliot.miranda@gmail.com) at September 09, 2018 05:57 PM

VMMakerCompatibilityForPharo6-eem.7

Add LongTestCase & access for the return of a quick method to RBMethodNode needed for cmacro: methods.

by Eliot Miranda (eliot.miranda@gmail.com) at September 09, 2018 05:13 PM

VMMaker.oscog-eem.2439

Slang: more Pharo/Squeak compatibiltiy refactoring.

by Eliot Miranda (eliot.miranda@gmail.com) at September 09, 2018 05:09 PM

VMMakerCompatibilityForPharo6-eem.6

Add translation support to RBProgramNode such that simple methods such as primitiveMakePoint can be translated to C. Still work needed to run the workspace translation scripts, which translate everything to be able to run inlining before generating C for a single method.

Add ClosureExtractor, DisplayText and TranscriptStream as needed support classes now missing in Pharo6.

Add bytesPerElement to the Collection hierarchy, again support dropped from Pharo6 (perhaps because image segments are not supported?).

by Eliot Miranda (eliot.miranda@gmail.com) at September 09, 2018 04:49 PM

VMMaker.oscog-eem.2438

General robustness, compatibility and cleanups.

Make localNameFor: a self send implemented for compatiblity above FileDirectory and FileSystem. Analogously so for uiProcess & vmPath[Size] above Pharo & Squeak.

A few fewer isKindOf:s.

Fix some receiuvers in NewObjectMemory (can it be that long since we've simulated a V3 image?? Yes :-))

FIx a C compiler warning in returnAs:ThroughCallback:Context:.

Fix an MNU in printing incomplete TSend nodes that broke the Pharo6 debugger.

by Eliot Miranda (eliot.miranda@gmail.com) at September 09, 2018 04:16 PM

September 07, 2018

squeaksource.com

Collections.V3-dtl.805

Name: Collections-cmm.805
Author: cmm
Time: 31 August 2018, 5:57:40.555042 pm
UUID: 7c024534-7188-47c5-b5e8-41e6dccf91ea
Ancestors: Collections-eem.804

Goes with Morphic-cmm.1461 to provide access to TextIndent attributes from the alignment menu.

by Dave Lewis (lewis@mail.msen.com) at September 07, 2018 09:57 PM

Kernel.V3-dtl.1190

Name: Kernel-cmm.1190
Author: cmm
Time: 29 August 2018, 9:20:01.027647 pm
UUID: b5a78e5d-c7fe-4e5d-9673-ee6208534ae1
Ancestors: Kernel-eem.1189

- Remove unnecessary string literals from ClassBuilder>>#reservedNames.
- Fix and simplify ClassBuilder>>#validateInstvars:from:forSuper:.
ClassBuilder>>#validateClassvars:from:forSuper: may benefit from a similar change.

by Dave Lewis (lewis@mail.msen.com) at September 07, 2018 09:54 PM

System.V3-dtl.1042

Name: System-pre.1042
Author: pre
Time: 5 September 2018, 4:56:50.998822 pm
UUID: 842afa63-0116-f84c-bb10-e82e86728dfb
Ancestors: System-eem.1041

Fixes a bug with the new MailSender probably due to an incomplete changeset. The missing attributes have already been used but were not part of the protocol of MailSender.

by Dave Lewis (lewis@mail.msen.com) at September 07, 2018 09:51 PM

System.V3-dtl.1041

Name: System-eem.1041
Author: eem
Time: 24 August 2018, 3:27:21.106494 pm
UUID: d696fe38-c1f1-f347-aa6a-9f53055d2306
Ancestors: System-eem.1040

Add the image side primitive error support for FFI exceptions. See ExceptionInFFICallError's class comment for an example.

by Dave Lewis (lewis@mail.msen.com) at September 07, 2018 09:47 PM

Compiler.V3-dtl.393

Name: Compiler-bf.393
Author: bf
Time: 23 August 2018, 7:44:43.576279 pm
UUID: 860565e2-2f2c-49bb-9e2f-e0d69d7b46c5
Ancestors: Compiler-bf.392

Fix pc highlighting for ifNil:ifNotNil:.

by Dave Lewis (lewis@mail.msen.com) at September 07, 2018 09:19 PM

Compiler.V3-dtl.392

Name: Compiler-bf.392
Author: bf
Time: 23 August 2018, 6:06:38.314464 pm
UUID: 039d1b50-5fe6-4c03-b82f-8015a2bac469
Ancestors: Compiler-eem.391

Mark macro senders for browsing

by Dave Lewis (lewis@mail.msen.com) at September 07, 2018 09:17 PM

Collections.V3-dtl.804

Name: Collections-eem.804
Author: eem
Time: 25 August 2018, 3:03:35.102786 pm
UUID: e4fae5d7-2676-4f01-bc05-21ac3946d248
Ancestors: Collections-eem.803

Fix TranscriptStream class>>redirectToStdOut: on "platforms" where stdout is not necessarily available (Windows). The existing implementation raises an error on start up on these "platforms".

by Dave Lewis (lewis@mail.msen.com) at September 07, 2018 09:13 PM

Collections.V3-dtl.803

Name: Collections-eem.803
Author: eem
Time: 21 August 2018, 2:09:17.558296 pm
UUID: 86665c06-0176-4eb8-b9dd-2b8dc3677fd6
Ancestors: Collections-dtl.802

More rational Dictionary>>fillFrom:with: so that collect:as: Dictionary matches e.g. Dictionary withAll:

Since 2010 Dictionary withAll: { 2->3 } => a Dictionary(2->3 ).
But
'abc' collect: [ :each | each -> each asciiValue ] as: Dictionary => a Dictionary(1->$a->97 2->$b->98 3->$c->99 )

With this change no tests appear to break (at least none that explicitly call collect:as:) and
'abc' collect: [ :each | each -> each asciiValue ] as: Dictionary => a Dictionary($a->97 $b->98 $c->99 )

by Dave Lewis (lewis@mail.msen.com) at September 07, 2018 09:10 PM

source.squeak.org

Tools-cmm.826

Command++ and Command+- hot keys for increasing/decreasing the sizes of all fonts.

by Chris Muller (ma.chris.m@gmail.com) at September 07, 2018 07:57 PM

Collections-cmm.805

Goes with Morphic-cmm.1461 to provide access to TextIndent attributes from the alignment menu.

by Chris Muller (ma.chris.m@gmail.com) at September 07, 2018 07:51 PM

Morphic-cmm.1461

Provide access to the TextIndent attribute on the alignment menu.

by Chris Muller (ma.chris.m@gmail.com) at September 07, 2018 07:50 PM

Morphic-LM.1462

Fixes a NonBooleanReceiver error that appeared when pressing backspace on a read-only text field.

by Chris Muller (ma.chris.m@gmail.com) at September 07, 2018 07:44 PM

Kernel-cmm.1190

- Remove unnecessary string literals from ClassBuilder>>#reservedNames.
- Fix and simplify ClassBuilder>>#validateInstvars:from:forSuper:.
ClassBuilder>>#validateClassvars:from:forSuper: may benefit from a similar change.

by Chris Muller (ma.chris.m@gmail.com) at September 07, 2018 07:43 PM

Morphic-cmm.1463

- Fix halo-invocation on a rotated Morph when halos are on the World.
- Provide access to the TextIndent attribute on the alignment menu.
- Fix a NonBooleanReceiver error that appeared when pressing backspace on a read-only text field.

by Chris Muller (ma.chris.m@gmail.com) at September 07, 2018 07:39 PM

ToolBuilder-Morphic-cmm.220

Restore keyboard list filtering when choosing files by temporarily avoiding the new dependency on PluggableMulticolumn until it can be improved.

by Chris Muller (ma.chris.m@gmail.com) at September 07, 2018 07:38 PM

Graphics-bf.401

Fix screen size check when using virtual display

by Bert Freudenberg (bert@freudenbergs.de) at September 07, 2018 04:07 AM

squeaksource.com

VK-IChing-vk.3

Simply improved categorization.

by Van Kichline (vkichline@hotmail.com) at September 07, 2018 12:53 AM

Ma-Installer-Core-cmm.103

Added a package-definition for #refactoringTools, which depends on #ast.

by Chris Muller (ma.chris.m@gmail.com) at September 07, 2018 12:28 AM

September 06, 2018

source.squeak.org

ReleaseBuilder-pre.188

Bumps version to 5.2beta and thereby sets the feature freeze in agreement with Edgar. Also fixes a minor bug in the release builder.

by Patrick Rein (patrick.rein@gmail.com) at September 06, 2018 11:20 AM

squeaksource.com

VK-IChing-VK.2

Improved persistance, line creation.

by Van Kichline (vkichline@hotmail.com) at September 06, 2018 01:59 AM

September 05, 2018

source.squeak.org

System-pre.1042

Fixes a bug with the new MailSender probably due to an incomplete changeset. The missing attributes have already been used but were not part of the protocol of MailSender.

by Patrick Rein (patrick.rein@gmail.com) at September 05, 2018 02:57 PM

September 04, 2018

source.squeak.org

Morphic-cmm.1462

Fix halo-invocation on rotated morphs.

by Chris Muller (ma.chris.m@gmail.com) at September 04, 2018 01:58 AM

September 03, 2018

squeaksource.com

KeplerEquations-B3D-JohnnyMcKeon.2

B3D Version!!!

by John McKeon (p3anoman@gmail.com) at September 03, 2018 12:46 AM

September 01, 2018

squeaksource.com

VK-IChing-VK.1

Initial checkin. Everything works in text. Print a new IChing to see output.

by Van Kichline (vkichline@hotmail.com) at September 01, 2018 07:43 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

September 29, 2009

squeaksource.com

LazyRabbit

What is this? Testing Testing. "Add Message"

by HwaJong Oh (hwajongoh@me.com) at September 29, 2009 08:03 AM