Iβm starting clojure after having been away for a while. When I start cider in emacs, I see the following warning:
WARNING: CIDER 1.6.0-snapshot requires cider-nrepl 0.29.0, but you're currently using cider-nrepl 0.30.0. The version mismatch might break some functionality! (More information)
So the first think I do, is look at the more information link, which leads me to believe I need to upgrade my emacs packages. Whne I try to upgrade-all in emacs, I see the following troubling messages.
Compiling file /Users/jnewton/.emacs.d/elpa/lsp-mode-20250406.2132/lsp-clojure.el at Mon Apr 7 11:53:26 2025
lsp-clojure.el:482:46: Warning: attempt to let-bind constant ':nodes?'
lsp-clojure.el:486:59: Warning: attempt to let-bind constant ':id?'
lsp-clojure.el:486:64: Warning: attempt to let-bind constant ':name'
lsp-clojure.el:486:70: Warning: attempt to let-bind constant ':type'
lsp-clojure.el:486:76: Warning: attempt to let-bind constant ':uri?'
lsp-clojure.el:486:82: Warning: attempt to let-bind constant ':range?'
lsp-clojure.el:486:90: Warning: attempt to let-bind constant ':detail?'
lsp-clojure.el:486:99: Warning: attempt to let-bind constant ':final?'
In lsp-clojure--project-tree-children-data->tree:
lsp-clojure.el:482:17: Warning: Unused lexical variable
`&clojure-lsp:ProjectTreeNode'
lsp-clojure.el:486:30: Warning: Unused lexical variable
`&clojure-lsp:ProjectTreeNode'
lsp-clojure.el:487:30: Warning: reference to free variable 'detail?'
lsp-clojure.el:488:46: Warning: reference to free variable 'name'
lsp-clojure.el:491:26: Warning: reference to free variable 'id?'
lsp-clojure.el:492:61: Warning: reference to free variable 'type'
lsp-clojure.el:493:26: Warning: reference to free variable 'final?'
lsp-clojure.el:495:24: Warning: reference to free variable 'uri?'
lsp-clojure.el:499:83: Warning: reference to free variable 'range?'
lsp-clojure.el:500:10: Warning: reference to free variable 'nodes?'
lsp-clojure.el:505:42: Warning: attempt to let-bind constant ':id?'
lsp-clojure.el:505:47: Warning: attempt to let-bind constant ':name'
lsp-clojure.el:505:53: Warning: attempt to let-bind constant ':nodes?'
lsp-clojure.el:505:61: Warning: attempt to let-bind constant ':uri?'
lsp-clojure.el:510:79: Warning: attempt to let-bind constant ':id?'
lsp-clojure.el:510:84: Warning: attempt to let-bind constant ':name'
lsp-clojure.el:510:90: Warning: attempt to let-bind constant ':type'
lsp-clojure.el:510:96: Warning: attempt to let-bind constant ':uri?'
In lsp-clojure--project-tree-data->tree:
lsp-clojure.el:505:13: Warning: Unused lexical variable
`&clojure-lsp:ProjectTreeNode'
lsp-clojure.el:507:20: Warning: reference to free variable 'id?'
lsp-clojure.el:507:24: Warning: reference to free variable 'name'
lsp-clojure.el:510:50: Warning: Unused lexical variable
`&clojure-lsp:ProjectTreeNode'
lsp-clojure.el:513:82: Warning: reference to free variable 'type'
lsp-clojure.el:515:43: Warning: reference to free variable 'uri?'
lsp-clojure.el:516:30: Warning: reference to free variable 'nodes?'
Compiling file /Users/jnewton/.emacs.d/elpa/lsp-mode-20250406.2132/lsp-cmake.el at Mon Apr 7 11:53:26 2025
Compiling file /Users/jnewton/.emacs.d/elpa/lsp-mode-20250406.2132/lsp-cobol.el at Mon Apr 7 11:53:26 2025
In end of data:Am I totally on the wrong track?
All of those are warnings, not errors. They shouldn't impact you.
now when I try to open a clj file I get an emacs error
and: Symbol's function definition is void: compat-call
looks related to magit
Debugger entered--Lisp error: (void-function compat-call)
(compat-call executable-find (magit-git-executable) t)
(and (not auto-revert-mode) (not global-auto-revert-mode) buffer-file-name (or auto-revert-remote-files (not (file-remote-p buffer-file-name))) (file-readable-p buffer-file-name) (compat-call executable-find (magit-git-executable) t) (magit-toplevel) (or (not magit-auto-revert-tracked-only) (magit-file-tracked-p buffer-file-name)))
(cond (file (let* ((buffer (and t (find-buffer-visiting file)))) (if buffer (save-current-buffer (set-buffer buffer) (magit-turn-on-auto-revert-mode-if-desired)) nil))) ((and (not auto-revert-mode) (not global-auto-revert-mode) buffer-file-name (or auto-revert-remote-files (not (file-remote-p buffer-file-name))) (file-readable-p buffer-file-name) (compat-call executable-find (magit-git-executable) t) (magit-toplevel) (or (not magit-auto-revert-tracked-only) (magit-file-tracked-p buffer-file-name))) (auto-revert-mode 1)))
magit-turn-on-auto-revert-mode-if-desired()
(if auto-revert-mode (progn (auto-revert-mode -1) (magit-turn-on-auto-revert-mode-if-desired)) (magit-turn-on-auto-revert-mode-if-desired))
(if (eq auto-revert-mode-major-mode major-mode) nil (if auto-revert-mode (progn (auto-revert-mode -1) (magit-turn-on-auto-revert-mode-if-desired)) (magit-turn-on-auto-revert-mode-if-desired)))
(if auto-revert-mode-set-explicitly nil (if (eq auto-revert-mode-major-mode major-mode) nil (if auto-revert-mode (progn (auto-revert-mode -1) (magit-turn-on-auto-revert-mode-if-desired)) (magit-turn-on-auto-revert-mode-if-desired))))
(save-current-buffer (set-buffer buf) (if auto-revert-mode-set-explicitly nil (if (eq auto-revert-mode-major-mode major-mode) nil (if auto-revert-mode (progn (auto-revert-mode -1) (magit-turn-on-auto-revert-mode-if-desired)) (magit-turn-on-auto-revert-mode-if-desired)))) (setq auto-revert-mode-major-mode major-mode))
(progn (save-current-buffer (set-buffer buf) (if auto-revert-mode-set-explicitly nil (if (eq auto-revert-mode-major-mode major-mode) nil (if auto-revert-mode (progn (auto-revert-mode -1) (magit-turn-on-auto-revert-mode-if-desired)) (magit-turn-on-auto-revert-mode-if-desired)))) (setq auto-revert-mode-major-mode major-mode)))
(if (buffer-live-p buf) (progn (save-current-buffer (set-buffer buf) (if auto-revert-mode-set-explicitly nil (if (eq auto-revert-mode-major-mode major-mode) nil (if auto-revert-mode (progn (auto-revert-mode -1) (magit-turn-on-auto-revert-mode-if-desired)) (magit-turn-on-auto-revert-mode-if-desired)))) (setq auto-revert-mode-major-mode major-mode))))
(let ((buf (car tail))) (if (buffer-live-p buf) (progn (save-current-buffer (set-buffer buf) (if auto-revert-mode-set-explicitly nil (if (eq auto-revert-mode-major-mode major-mode) nil (if auto-revert-mode (progn ... ...) (magit-turn-on-auto-revert-mode-if-desired)))) (setq auto-revert-mode-major-mode major-mode)))) (setq tail (cdr tail)))
(while tail (let ((buf (car tail))) (if (buffer-live-p buf) (progn (save-current-buffer (set-buffer buf) (if auto-revert-mode-set-explicitly nil (if (eq auto-revert-mode-major-mode major-mode) nil (if auto-revert-mode ... ...))) (setq auto-revert-mode-major-mode major-mode)))) (setq tail (cdr tail))))
(let ((tail buffers)) (while tail (let ((buf (car tail))) (if (buffer-live-p buf) (progn (save-current-buffer (set-buffer buf) (if auto-revert-mode-set-explicitly nil (if ... nil ...)) (setq auto-revert-mode-major-mode major-mode)))) (setq tail (cdr tail)))))
(let ((buffers magit-auto-revert-mode-buffers)) (setq magit-auto-revert-mode-buffers nil) (let ((tail buffers)) (while tail (let ((buf (car tail))) (if (buffer-live-p buf) (progn (save-current-buffer (set-buffer buf) (if auto-revert-mode-set-explicitly nil ...) (setq auto-revert-mode-major-mode major-mode)))) (setq tail (cdr tail))))))
magit-auto-revert-mode-enable-in-buffers()
run-hooks(change-major-mode-after-body-hook after-change-major-mode-hook)
normal-mode(t)
after-find-file(nil t)
find-file-noselect-1(#<buffer project.clj> "~/Repos/rte/clojure-rte/project.clj" nil nil "~/Repos/rte/clojure-rte/project.clj" (87516873 16777220))
find-file-noselect("/Users/jnewton/Repos/rte/clojure-rte/project.clj" nil nil nil)
find-file("/Users/jnewton/Repos/rte/clojure-rte/project.clj")
dired--find-file(find-file "/Users/jnewton/Repos/rte/clojure-rte/project.clj")
dired--find-possibly-alternative-file("/Users/jnewton/Repos/rte/clojure-rte/project.clj")
dired-find-file()
funcall-interactively(dired-find-file)
call-interactively(dired-find-file nil nil)
command-execute(dired-find-file)restarted emacs, and problem seems to be NOT REPRODUCABLE. thatβs good.
but still getting the WARNING
ok, solved. updated project.clj file to include `:plugins [ β¦ [cider/cider-nrepl β0.53.2β] β¦]
JFYI, I see the following warning when I connect to the nREPL.
Thanks! Yeah, I'll need to fix this.
whats the best place to donate to for CIDERs work, @bbatsov, or is there somewhere more dedicated?
Yeah, the OpenCollective is the way to go!
https://github.com/clojure-emacs/cider?tab=readme-ov-file#funding
wonderful, read through that and wanted to make sure, OpenCollective does seem like the best option then π