Repository navigation
Releases
WHAM 1.7.0
WHAM can now compact conventional header guards when local directives prove their bodies inactive. Partial compaction preserves repeatable text outside the guard and recovers the omitted block from a complete retained copy.
- Unknown macro states, ordinary code, external includes, pragmas, and unknown expressions discard the proof. Architecture-dependent branches remain intact.
- Many declaration-heavy headers deliberately remain expanded; this is conservative definedness analysis, not a full preprocessor.
- Recovery format v5 preserves edited retained bodies, reports divergent copies, and rejects malformed fragment references. Existing v1-v4 outputs remain readable.
- The wrapped recovery footer still has a 120-character physical line limit.
New outputs require WHAM 1.7.0 or newer for recovery. Recover and regenerate from source when changing include order or guard behaviour.
Validated with 73 automated tests, 120 original/generated Clang comparisons of emitted tokens and final macro definitions plus syntax checks across x64/ARM64 and both conditional settings, and a native MultiWM test build with exact recovery of its 16 files.
Install from the VS Code Marketplace, or download the attached VSIX and use Extensions: Install from VSIX….
WHAM 1.6.0
WHAM now avoids repeating #pragma once headers after an earlier inclusion is guaranteed. Omitted copies leave compact references, so recovery restores every original include and the complete source tree.
- Conditional first includes and uncertain nested cases keep full expansions.
- Ordinary header guards,
#undef, architecture defines, and repeatable headers stay untouched. - Recovery format v4 preserves edited retained bodies and rejects missing or mismatched references. Existing v1, v2, and v3 outputs remain readable.
New outputs require WHAM 1.6.0 or newer for recovery.
Validated with 61 automated tests, 48 original/generated Clang preprocessing comparisons and syntax checks across x64 and ARM64, and a native MultiWM test build with exact recovery of its 16 source files.
Install from the VS Code Marketplace, or download the attached VSIX and use Extensions: Install from VSIX….
WHAM 1.5.12
WHAM now writes recovery metadata as a foldable section instead of one long line. Footer lines stay within 120 characters, including unusually long directives and configuration strings.
- Existing v1 and v2 outputs can still be recovered. Regeneration upgrades them to v3.
- Includes the recent sidebar previews, Compile/Test build/Verify controls, elevation handling, and editor setup improvements.
Install from the VS Code Marketplace, or download the attached VSIX and use Extensions: Install from VSIX….
Older WHAM releases cannot recover v3 output; update WHAM before recovering these files.
See the full changelog for all changes since the previous GitHub release.