You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This should be a relatively straightforward fix I'm willing to tackle, but it's not clear whether it should be the responsibility of cider or cider-nrepl.
Option 1:
cider.el ensures that ns and symbol params are simple symbols
cider-undef sees lib/abc
uses regex to split it into "lib" and "abc",
calls (cider-resolve-alias "lib") => "my.lib",
and sends the message ("op" "undef" "ns" "my.lib" "symbol" "abc")
Option 2:
cider-nrepl library does the decoding:
cider-undef sends the message ("op" "undef" "ns" "my.app" "symbol" "lib/abc")
cider.nrepl.middleware.undef/undef notices that (symbol "lib/abc") is fully qualified
Do you mean the resolve-alias op? Both options are calling the same undef op, I don't really think it's a matter of efficiency but whether to narrow the message spec vs. broaden the input parsing on the backend.
Expected behavior
Calling
cider-undef
on a fully qualified symbolfoo/bar
should unmap the var from the corresponding (aliased)foo
namespace.Actual behavior
The var is not undefined (fails silently)
Steps to reproduce the problem
my/lib.clj
my/app.clj
In the my/app.clj buffer, call
M-x cider-undef
with point on lib/abc.Observe: the var is still accessible after the command.
Environment & Version information
CIDER version information
Emacs version
26.3
Operating system
macOS 10.15
The text was updated successfully, but these errors were encountered: