Bump 4 deps and fix man page font-run strip (v0.6.16) - #184
Merged
Conversation
Consolidates Dependabot #182 onto a gated branch so the release-hygiene steps Dependabot skips (version bump, NOTES entry, man regen) are done. Dependencies (cargo-dependencies group, lockfile-only — every spec is a caret range, so Cargo.toml is untouched): clap 4.6.4 -> 4.6.5 (clap_builder 4.6.2 -> 4.6.5) toml 1.1.3 -> 1.1.4 (toml_parser 1.1.2 -> 1.1.3) clap_complete 4.6.7 -> 4.6.8 base64 0.23.0 -> 0.23.1 The resulting Cargo.lock is byte-identical to what Dependabot generated. Also fixes the `just man` font-collapsing sed, which has never worked on any platform. mandown emits redundant \fB\fB...\fP\fP runs and the recipe carried `s/\fB\fB/\fB/g` to strip them, but GNU sed reads \f as the form-feed escape rather than backslash-then-f, so the pattern only ever matched form feeds that groff output never contains. This is why docs/retch.1 kept flip-flopping between machines: v0.6.2 concluded the strip merely "didn't take effect on Windows", when in fact Linux was not stripping anything either — its mandown build just doesn't emit the doubled runs. Matching the backslash as [\] and carrying it out through a capture group keeps any backslash escape off the replacement side. With the fix, `just man` on Windows reproduces byte-for-byte the file a Linux `just man` produces, so the regen check in `just pr` no longer depends on which machine last ran it. The regenerated page drops 21 doubled font runs and changes nothing else but the version footer. retch-sysinfo unchanged at 0.1.51; no Rust source touched. Assisted-By: Claude Opus 5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Consolidates Dependabot #182 onto a gated branch so the release-hygiene steps Dependabot
bypasses — version bump, NOTES.md entry, man-page regen — actually happen. Same pattern as
#167 (v0.6.3), which rolled up #161/#163/#164.
While regenerating the man page for the version bump, the long-standing
docs/retch.1flip-flop between machines got root-caused, so the fix rides along here.
1. Dependency bumps (lockfile-only)
All four are patch-level and every spec is already a caret range, so
Cargo.tomlis untouched:clapclap_builder(transitive)tomltoml_parser(transitive)clap_completebase64The resulting
Cargo.lockwas diff-verified byte-identical to what Dependabot generated on#182.
base64is graphics-feature-only, sojust check's--features graphicsclippy pass(v0.6.5) is the leg that exercises it; the CI
graphics-featurejob (v0.6.7) covers the sameground and was green on #182.
2. The
just manfont-collapsing sed has never worked — on any platformmandownemits redundant\fB\fB…\fP\fPruns, and themanrecipe carriedsed -e 's/\\fB\\fB/\\fB/g' -e 's/\\fP\\fP/\\fP/g'to strip them.GNU sed reads
\\fas the form-feed escape, not backslash-then-f. So the pattern onlyever matched form feeds — which groff output never contains — and the replacement would have
emitted a form feed had it matched. Confirmed against GNU sed 4.9 with a minimal fixture:
\fB\fB\-h\fP\fPgoes in, comes out unchanged.This corrects the diagnosis in v0.6.2, which recorded that the strip "didn't take effect on
Windows" and flagged the root cause as not reproducible without a Windows box. Linux was not
stripping anything either — its
mandownbuild simply doesn't emit the doubled runs. Thedifference was two mandown builds plus a strip that was dead code everywhere, which is exactly
why the committed page kept flipping depending on which machine last ran
just man(v0.6.15was generated on Windows and committed the doubled form, as v0.6.2 predicted).
Fixed by matching the backslash as
[\]and carrying it out through a capture group(
s/[\]fB\([\]fB\)/\1/g), so no backslash escape appears on the replacement side at all.retch-sysinfounchanged at0.1.51— no Rust source touched.Test plan
just check—cargo fmt --check+cargo clippy --workspace -D warnings+cargo clippy --features graphics -D warningscargo test --workspace— 57 sysinfo lib + 111 cli + 15 integration, all greenjust prgate passes end to end (branch, version bump, NOTES header, man regen diff,Cargo.lock, fmt/clippy, tests, audit)Cargo.lockdiff-verified byte-identical to PR deps(deps): bump the cargo-dependencies group across 1 directory with 4 updates #182's lockfilenew expression collapses correctly)
just manon Windows now produces a file byte-identical to the Linux-generated pagedocs/retch.1drops 21 doubled font runs and changes nothing else but theversion footer (proved by normalising the previous page through the same collapse and
diffing)
cargo audit— no advisories beyond the pre-existing allowedpasteunmaintained warningNot applicable: README (no new feature, flag, or config key),
docs/retch.md/tldr (no CLI flagchange), wiki (no config/theming, module-layout, or recipe-interface change — the
manrecipe'sdocumented behaviour is unchanged; only its internal strip was broken).
Closes #182.