Implement welcome=false and wizard=false for Squeak 6.1 - #194
Conversation
Also fix incorrect commentary of existing hacks for Squeak 6.0
There was a problem hiding this comment.
🟡 Not ready to approve
The new/modified enabled guards use bitwise & instead of logical &&, which coerces booleans to numbers and is inconsistent with other conditions in the same hack list.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Pull request overview
This PR extends the existing image “hack” mechanism in Squeak.Interpreter to support Squeak 6.1 startup customization flags (wizard=false and welcome=false), and corrects misleading commentary for the existing Squeak 6.0 hacks.
Changes:
- Add additional Squeak 6.1-specific bytecode patches in
ReleaseBuilder class>>prepareEnvironmentto disable the wizard and welcome workspaces. - Fix incorrect comments describing the existing Squeak 6.0 hacks.
- Propagate the same hack-list updates into the committed distribution bundles.
File summaries
| File | Description |
|---|---|
| vm.interpreter.js | Adds Squeak 6.1 bytecode hack entries and corrects Squeak 6.0 hack comments. |
| dist/squeak_headless_bundle.js | Mirrors the updated hack entries/comments in the headless distribution bundle. |
| dist/squeak_bundle.js | Mirrors the updated hack entries/comments in the browser distribution bundle. |
Review details
Suppressed comments (1)
vm.interpreter.js:176
- These
enabledguards use bitwise&with booleans, which coerces to 0/1 and removes short-circuiting; elsewhere in this hack list you use logical&&. Switching to&&keepsenableda boolean and avoids surprising numeric values.
// Squeak 6.0 disable welcome workspace by replacing #openWelcomeWorkspacesWith: send with pop
{method: "ReleaseBuilder class>>prepareEnvironment", bytecode: {closure: 9, pc: 2, old: 0x90, hack: 0xD8}, enabled: sista & this.options.welcome===false},
// Squeak 6.1 disable welcome workspaces by replacing #openWelcomeWorkspacesWith: and #openObjectlandStarter sends with pop
{method: "ReleaseBuilder class>>prepareEnvironment", bytecode: {closure: 9, pc: 15, old: 0x93, hack: 0xD8}, enabled: sista & this.options.welcome===false},
{method: "ReleaseBuilder class>>prepareEnvironment", bytecode: {closure: 9, pc: 18, old: 0x85, hack: 0xD8}, enabled: sista & this.options.welcome===false},
- Files reviewed: 1/3 changed files
- Comments generated: 1
- Review effort level: Lite
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
Also fix incorrect commentary of existing hacks for Squeak 6.0