not sure if this is the correct channel, but I have a question about the resurrected sayid :
sayid-tree-inspect does not work for me (the c i binding). I see the message Def'd as $s/* but the inspector does not open.
I see in the impl that sayid-tree-inspect calls (cider-inspect "$s/*") which is defined as
(defun cider-inspect (&optional arg)
"Inspect the result of the preceding sexp.
With a prefix argument ARG it inspects the result of the \"top-level\" form.
With a second prefix argument it prompts for an expression to eval and inspect."
(interactive "p")
(pcase arg
(1 (cider-inspect-last-sexp))
(4 (cider-inspect-defun-at-point))
(16 (call-interactively #'cider-inspect-expr))))
Could it be that the correct call should be (cider-inspect-expr "*" "$s")?
(If I eval this myself the inspector opens fine)That's a good place to ask for help! Sorry about the slow response, I'll take a closer look now.
Turned out I forgot to update this legacy CIDER API call. The fix is trivial and I'll push it soon.
Thank you!
See https://github.com/clojure-emacs/sayid/pull/139 I hope this fixes the problem for you.
Caught a false positive / regression with the new macroexpansion logic while poking around with the new keys! feature in 1.13 - Cider now refuses to expand destructuring syntax, throwing
cider-ensure-macro: 'let' is a special form; there's nothing to macroexpand
which is of course one of those funny impl quirks
(:special-form (meta #'let)) ;=> true
(special-symbol? 'clojure.core/let) ;=> false
(special-symbol? 'let*) ;=> true
Same thing with fn /`loop` / letfn which are all really macros delegating to a *-suffixed special form. Pre-2.0 expanded them correctly.It seems a bit unnecessarily 'strict' to be gating inputs this way, when after all the underlying (macroexpand behaves just as a no-op? I don't think it's an issue of the cider-nrepl info op which just reports the var meta directly
Oh, it also broke the usage of cider-macroexpand to normalize ::auto/resolved keywords and other read-time syntax eg. namespace-prefixed maps, #() fns - which now all throw 'form' is not a macro errors.
(don't know if this was ever sanctioned per se but it was a useful hack to have at hand)
Ah, I saw your message a bit too late. Seems I messed this up because I had forgotten about this weirdness. facepalm Can you file an issue about this and I'll sort it out when I can.
FYI - https://clojurians.slack.com/archives/C06MAR553/p1784123343847359