Skip to content

fix(fspy): bundle an Oils master build with four osh fixes - #939

Merged
wan9chi merged 4 commits into
voidzero-dev:mainfrom
lifeiscontent:fix/bundle-oils-master
Nov 6, 2026
Merged

wan9chi merged 4 commits into
voidzero-dev:mainfrom
lifeiscontent:fix/bundle-oils-master

Conversation

@lifeiscontent

@lifeiscontent lifeiscontent commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

On macOS, fspy runs tracked /bin/sh and /bin/bash commands under the bundled Oils shell, while Linux runs the real shells. Oils 0.38.0 differs in four cases that change task results:

These fixes are in Oils master but not in a release. wan9chi/oils-for-unix-build#1 lets that repo build from a master commit, and this pins its release for master d114978c. Both assets have build provenance from that repo's release workflow.

Each case comes with spec tests in Oils, which its CI runs on every commit. I also ran the cases from those PRs under a tracked shell on macOS: they fail with 0.38.0 and pass with this build.

lifeiscontent and others added 4 commits November 5, 2026 12:40
On macOS, fspy runs tracked `/bin/sh` and `/bin/bash` commands under the
bundled Oils shell. Oils 0.38.0 differs from the real shells in four cases
that change task results: errexit after a compound command with a redirect,
`$?` in the EXIT trap, a bare `exit` in the EXIT trap, and `$BASH`. The
fixes are in Oils master but not in a release, so this pins the
wan9chi/oils-for-unix-build release for master commit d114978c.

The new shell_semantics tests run each case under a tracked shell. They
fail with 0.38.0 and pass with this build on macOS, and they pass with the
real shells on Linux.
@wan9chi
wan9chi merged commit 2e9a13e into voidzero-dev:main Nov 6, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants