cider

Jim Newton 2025-04-07T09:58:35.057949Z

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:

Jim Newton 2025-04-07T09:59:03.261439Z

Am I totally on the wrong track?

oyakushev 2025-04-07T10:05:13.264489Z

All of those are warnings, not errors. They shouldn't impact you.

πŸ‘πŸ» 1
🀯 1
Jim Newton 2025-04-07T10:08:46.830039Z

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)

Jim Newton 2025-04-07T10:10:33.886359Z

restarted emacs, and problem seems to be NOT REPRODUCABLE. that’s good.

Jim Newton 2025-04-07T10:12:40.071179Z

but still getting the WARNING

Jim Newton 2025-04-07T10:14:35.708979Z

ok, solved. updated project.clj file to include `:plugins [ … [cider/cider-nrepl β€œ0.53.2”] …]

πŸ‘ 1
oyakushev 2025-04-07T11:35:06.036299Z

πŸ‘ 1
Roma 2025-04-07T12:19:20.994079Z

JFYI, I see the following warning when I connect to the nREPL.

oyakushev 2025-04-07T12:22:02.412619Z

Thanks! Yeah, I'll need to fix this.

Samuel Ludwig 2025-04-07T14:02:37.103029Z

whats the best place to donate to for CIDERs work, @bbatsov, or is there somewhere more dedicated?

bozhidar 2025-04-08T08:53:01.439779Z

Yeah, the OpenCollective is the way to go!

❀️ 1
Kirill Chernyshov 2025-04-07T14:36:40.255769Z

https://github.com/clojure-emacs/cider?tab=readme-ov-file#funding

Samuel Ludwig 2025-04-07T14:42:06.836509Z

wonderful, read through that and wanted to make sure, OpenCollective does seem like the best option then πŸ‘

1