Repository navigation
fix(melpa): close the last three package-suite divergences (epl, scratch, auto_indent) - #428
Conversation
…ned data
- epl: the built-in discovery probe now loads the workspace's
generated finder data (lisp/finder-inf.el) explicitly, so BOTH
editors build package--builtins from ONE pinned generation instead
of their own build-time copies (the oracle's is stale: its
committed finder-inf says project 0.11.2 while the same tree's
project.el header says 0.12.0 -- finder-inf.el is a build-generated
file absent from the emacs-31.1 tag). Re-pinned; suite green.
- scratch: the mode-list count samples the EDITOR's own obarray
inventory (each editor's bundled lisp defines a different set), so
the raw number cannot agree; the probe now records the count
contractually (':many when > 10 modes) while pinning the shape
properties (has-elisp/has-fundamental/no-dashes). Green.
- auto_indent_mode: the disable case asserted 'memq' TAILS, which
pinned every ambient hook member after the auto-indent entries
(epa-file-find-file-hook etc. -- environment noise). Normalized
to membership booleans; GNU and Neomacs produce IDENTICAL outcomes
(OK ((t t t t) nil t nil nil t nil)); suite green.
Melpa sweep: 938/942 locally.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 4 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe pull request updates three parity tests. It normalizes auto-indent hook assertions, loads workspace finder data for library discovery, updates the ChangesParity test alignment
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~15 minutes Change: Other Merge Risk: ⚪ Minimal · up to This PR makes test-only changes to stabilize parity checks and does not alter product runtime behavior; it is ready to merge. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The changes are test-only pin normalizations whose logic I verified as faithful and consistent with the regenerated finder data and PR description, with no objective issues found.
Review effort: Balanced
Findings: None
What changed in this PR
This PR resolves the last three divergences in the MELPA package-parity test suite (neomacs-melpa-tests) between the GNU Emacs oracle and Neomacs. Rather than weakening assertions arbitrarily, each fix addresses a root cause where the pinned outcome depended on inherently editor-specific state, normalizing the probes so both engines are compared against equivalent inputs.
Changes:
- epl: The built-in-discovery probe now explicitly loads the workspace's build-generated
lisp/finder-inf.el(viaNEOMACS_TEST_WORKSPACE_ROOT) so both editors resolvepackage--builtinsagainst one version database; the pin is updated toproject 0.12.0to match the regenerated finder data. - scratch: The mode-list count (editor-specific obarray inventory) is recorded contractually as
:manywhen there are >10 modes, while shape properties stay pinned. - auto_indent_mode: The disable-case assertions are converted from
memqtails (which pinned ambient, environment-owned hook members) to membership booleans, yielding identical outcomes across engines.
| File | Description |
|---|---|
crates/neomacs-melpa-tests/src/parity_tests/epl/mod.rs |
Loads workspace-generated finder data before discovery and re-pins project to 0.12.0. |
crates/neomacs-melpa-tests/src/parity_tests/scratch/workflows.rs |
Normalizes editor-specific mode count to :many (>10) while keeping shape assertions. |
crates/neomacs-melpa-tests/src/parity_tests/auto_indent_mode/lifecycle.rs |
Replaces memq-tail assertions with membership booleans to drop ambient-hook noise. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
All three reds shared root causes now fixed at the data/normalization layer, not by weakening assertions:
package--builtins, populated from the GENERATEDlisp/finder-inf.el. Each editor bundles its own build-time generation (the oracle's committed copy is stale:project (0 11 2)while the same tree's project.el header says 0.12.0 —finder-inf.eldoes not exist in the emacs-31.1 tag, it is build-generated). The probe now loads the workspace's generated finder data explicitly, so both editors discover against ONE pinned generation. Re-pinned; green.:many when > 10 modes) and keeps pinning the shape properties (has-elisp/has-fundamental/no-dashes). Green.memqTAILS, pinning every ambient hook member after the auto-indent entries (environment noise:epa-file-find-file-hook, neomacs's own video hook). Normalized to membership booleans — GNU and Neomacs now produce identical outcomes (OK ((t t t t) nil t nil nil t nil)). Green.Melpa sweep locally: 938/942. Remaining: ac_helm (#406), find_file_in_project (Cluster B), helm_lsp (hang), forge (sqlite3 module, next).