chore: pin ffmt 0.4.5 - #1806
Conversation
Picks up the comment re-wrap fix (sbryngelson/ffmt#9). An over-long `!` comment used to be wrapped in isolation, so its tail was emitted as a standalone one-word line. Adding one indent level to an existing block, for example by wrapping it in `#:if`, was enough to push a comment over the limit and mangle it, which is how a structural edit turned into a prose rewrite and buried the real change in the diff. No source changes. ffmt 0.4.5 produces byte-identical output to 0.4.4 on all of src/ at MFC's line-length of 132: `ffmt --check src` passes and a full write pass changes no files. The fix only engages when a comment actually overflows, so this is protection for future edits rather than a reformat.
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Pull request overview
Updates the toolchain dependency pin for ffmt to incorporate upstream bugfixes without changing repository source formatting.
Changes:
- Bump
ffmtfrom0.4.4to0.4.5in the toolchain dependency set.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1806 +/- ##
=======================================
Coverage 62.26% 62.26%
=======================================
Files 84 84
Lines 21558 21558
Branches 3188 3188
=======================================
Hits 13423 13423
Misses 5937 5937
Partials 2198 2198 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Bumps the
ffmtpin intoolchain/pyproject.tomlfrom 0.4.4 to 0.4.5. One line, no source changes.Why
0.4.5 fixes a comment re-wrap bug (sbryngelson/ffmt#9, sbryngelson/ffmt#11). An over-long
!comment was wrapped in isolation, so its tail was emitted as a standalone one-word line:Adding one indent level to an existing block was enough to trigger it, because
indent-fypp = truepushes comments that sit near the limit over it. That is how a structural edit became a prose rewrite: guarding four Riemann-solver bodies in#:if, a 31-line logical change, produced a 2722-insertion / 2643-deletion diff, andgit diff -wstill showed 355/276 because the re-wrapping was not whitespace-only.In 0.4.5 the overflow moves into the following prose line of the same block instead. Only running text takes part: any marker (
!!,!>,!<,!*,!@,!$,!&, vendor directives such as!DEC$), separator banners, bullets and numbered items,TODO:-style tags, aligned comments and! ffmt offend the block and are never rewritten.No reformat needed
0.4.5 produces byte-identical output to 0.4.4 on this repository. Against
masterwith the checked-in.ffmt.toml:ffmt --check srcexits 0ffmt srcwrite pass changes zero filesThe fix only engages when a comment actually overflows, and nothing in
src/overflows at the configuredline-length = 132today. So this pin is protection for future edits rather than a formatting change, and theFormattingCI job should stay green with no diff.Upstream verification for the release covered all 99 Fortran and Fypp files here at line-length 132, 100, 80 and 72: zero content divergence at every width (every non-comment line identical, every comment word identical in order and marker), no new over-limit lines, and idempotency on a second pass.
Acknowledgement