Finish the keyword-argument request-API migration#4029
Merged
Conversation
Move every caller off the positional request shims to the keyword-argument forms, then mark the shims obsolete so the byte-compiler flags any new use (same approach as `cider-ensure-op-supported'): cider-nrepl-send-sync-request -> cider-nrepl-sync-request cider-nrepl-request:eval -> cider-nrepl-send-eval-request nrepl-send-sync-request -> nrepl-sync-request nrepl-request:eval -> nrepl-send-eval-request The shims still work for external callers; only their internal use is gone. Repoint the test spies/stubs to the keyword forms, and keep the shim-delegation specs (wrapped in `with-suppressed-warnings') so we still verify the shims forward correctly during the deprecation window. Update the transport-lint allowlist (`cider-repl-require-repl-utils' now uses `nrepl-sync-request').
bbatsov
added a commit
that referenced
this pull request
Jun 26, 2026
A regression from #4029: `cider-sync-request:classpath' and `cider-sync-request:lookup' passed the connection positionally to `cider-nrepl-sync-request' (via thread-first), but the keyword form takes it as `:connection'. These two call sites were missed because the threaded request makes the connection look like the sole argument. Pass it as `:connection' and add regression specs.
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.
Drives the recently-started keyword-API migration to the finish line. Every caller now uses the keyword-argument request forms, and the positional shims are deprecated via
make-obsoleteso the byte-compiler flags any new use (same enforcement pattern as #4028'scider-ensure-op-supported).Migrated (all call sites) and deprecated:
cider-nrepl-send-sync-request->cider-nrepl-sync-request(62 call sites)cider-nrepl-request:eval->cider-nrepl-send-eval-requestnrepl-send-sync-request->nrepl-sync-requestnrepl-request:eval->nrepl-send-eval-requestThe shims still work for external callers - only their internal use is gone.
Notes:
connectionas a:keyword; only one call site (cider-ns.el) passed it positionally and was converted. The low-level form keepsconnectionpositional, so those were plain renames.with-suppressed-warnings) so we still verify the shims forward correctly while deprecated.cider-repl-require-repl-utilsnow usesnrepl-sync-request.Clean
--warnings-as-errorscompile (no obsolete warnings, since nothing internal calls the shims) and full suite green.