Skip to content

v2.42.0 — escaped > fix, the stdout-preservation anchor, and a release runbook

Latest

Choose a tag to compare

@cheezy cheezy released this 01 Oct 13:49

Fixed — an escaped > is no longer read as an operator

A literal > handed to curl (--data-urlencode n=a\>) was read as shell syntax
by both walks over the operator view, in opposite directions: the scope pass
blanked the word after it, the redirect rule called it a redirect. The two
cancelled, so neither was visible from outside.

No verdict in this port changed — the new 26an cases pin the shapes as they
already behaved, not a behaviour change. It is still worth having, for two
reasons. A cancellation between two bugs is not something to depend on; and this
port's redirect rule carries an append verdict of its own for the canonical
response file, so a > it misreads is a character that can reach that decision.
The sibling stride port had the same pair not cancel, where it was a
measured false permit.

Fixed once, upstream of both walks and in both halves, counting the backslash run
so \> (a literal >) is told apart from \\> (an escaped backslash before a
real operator). Length-preserving, so the pairing offsets still line up.

Added — the stdout-preservation-guard rule carries its canon anchor (W2187)

The paragraph stating this port's file-first exception, and what the guard refuses around it, now carries the canon anchor and the back-reference below it. No substance changed; this port's permitted set is its own and is unchanged.

Added — a release runbook for this repository (W2173)

RELEASE.md records how this repository is released, as its own history shows it: which file holds the version, how the changelog is shaped (with any ambiguity in that history stated rather than resolved), whether a catalog must be synced afterwards, and the one-line check for whether the changelog's top heading is already tagged — the check that would have caught entries appended under a released heading. Documentation only; no behaviour changes.