Skip to content

Commit c0bdf94

Browse files
dannyfreemanbbatsov
authored andcommitted
Address Linting warnings
Address cl-flet lint warning ... with a simpler implementation of cider--setup-clojure-major-mode. Can't have cl-flet lint warnings if I don't use cl-flet. Add clojure-ts-mode dependency to Eldev Silence byte-compiler when optional clojure-ts-mode is not available The linter throws a warning when byte-compiling. Eldev doesn't support pulling in dependencies declared with `eldev-add-extra-dependencies` while running the `eldev compile` command. See https://emacs-eldev.github.io/eldev/#additional-dependencies This makes sense. If a user is byte compiling cider and they don't have clojure-ts-mode installed, they shouldn't see a byte compile warning for it. Make clojure-ts-mode dependency optional Tests will fail when using Emacs versions less than 29 because clojure-ts-mode requires Emacs 29 to work properly. That could be why tests fail in CI. This probably won't help with the linting issue
1 parent fd4862a commit c0bdf94

File tree

4 files changed

+23
-21
lines changed

4 files changed

+23
-21
lines changed

Eldev

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
(eldev-add-loading-roots 'test "test/utils")
1313
(eldev-add-extra-dependencies 'runtime '(:package logview :optional t))
14+
(eldev-add-extra-dependencies 'runtime '(:package clojure-ts-mode :optional t))
1415

1516
;; slightly increase the maximum (applies to checkdoc and the byte compiler alike)
1617
(setq byte-compile-docstring-max-column 100)

cider-mode.el

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,9 @@ loaded yet, this will be shown in Clojure buffers next to the Clojure menu."
580580

581581
;;;###autoload
582582
(with-eval-after-load 'clojure-ts-mode
583-
(cider--setup-menu-for-clojure-major-mode clojure-ts-mode-map))
583+
(cider--setup-menu-for-clojure-major-mode
584+
(with-suppressed-warnings ((free-vars clojure-ts-mode-map))
585+
clojure-ts-mode-map)))
584586

585587
;;; Dynamic indentation
586588
(defcustom cider-dynamic-indentation t

cider-selector.el

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ is visible, but not focused."
6767
(null (get-buffer-window buffer 'visible))))
6868
return buffer
6969
finally (if consider-visible-p
70-
(error "Can't find unshown buffer in %S" mode)
71-
(cider-selector--recently-visited-buffer mode t))))
70+
(error "Can't find unshown buffer in %S" modes)
71+
(cider-selector--recently-visited-buffer modes t))))
7272

7373
;;;###autoload
7474
(defun cider-selector (&optional other-window)

cider.el

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2136,30 +2136,29 @@ alternative to the default is `cider-random-tip'."
21362136
(add-hook 'cider-connected-hook #'cider--maybe-inspire-on-connect)
21372137

21382138
;;;###autoload
2139-
(defun cider--setup-clojure-major-mode (mode)
2140-
"Setup Cider key bindings and hooks for a Clojure major MODE."
2141-
(cl-flet ((concat-symbol (symbol suffix)
2142-
(intern (concat (symbol-name mode) suffix))))
2143-
(let ((mode-map (eval (concat-symbol mode "-map"))))
2144-
(define-key mode-map (kbd "C-c M-x") #'cider)
2145-
(define-key mode-map (kbd "C-c M-j") #'cider-jack-in-clj)
2146-
(define-key mode-map (kbd "C-c M-J") #'cider-jack-in-cljs)
2147-
(define-key mode-map (kbd "C-c M-c") #'cider-connect-clj)
2148-
(define-key mode-map (kbd "C-c M-C") #'cider-connect-cljs)
2149-
(define-key mode-map (kbd "C-c C-x") 'cider-start-map)
2150-
(define-key mode-map (kbd "C-c C-s") 'sesman-map)
2151-
(require 'sesman)
2152-
(sesman-install-menu mode-map)
2153-
(add-hook (concat-symbol mode "-hook")
2154-
(lambda () (setq-local sesman-system 'CIDER))))))
2139+
(defun cider--setup-clojure-major-mode (mode-map mode-hook)
2140+
"Setup Cider key bindings on a Clojure mode's MODE-MAP and hooks in MODE-HOOK."
2141+
(define-key mode-map (kbd "C-c M-x") #'cider)
2142+
(define-key mode-map (kbd "C-c M-j") #'cider-jack-in-clj)
2143+
(define-key mode-map (kbd "C-c M-J") #'cider-jack-in-cljs)
2144+
(define-key mode-map (kbd "C-c M-c") #'cider-connect-clj)
2145+
(define-key mode-map (kbd "C-c M-C") #'cider-connect-cljs)
2146+
(define-key mode-map (kbd "C-c C-x") 'cider-start-map)
2147+
(define-key mode-map (kbd "C-c C-s") 'sesman-map)
2148+
(require 'sesman)
2149+
(sesman-install-menu mode-map)
2150+
(add-hook mode-hook (lambda () (setq-local sesman-system 'CIDER))))
21552151

21562152
;;;###autoload
21572153
(with-eval-after-load 'clojure-mode
2158-
(cider--setup-clojure-major-mode 'clojure-mode))
2154+
(cider--setup-clojure-major-mode clojure-mode-map 'clojure-mode-hook))
21592155

21602156
;;;###autoload
21612157
(with-eval-after-load 'clojure-ts-mode
2162-
(cider--setup-clojure-major-mode 'clojure-ts-mode))
2158+
(cider--setup-clojure-major-mode
2159+
(with-suppressed-warnings ((free-vars clojure-ts-mode-map))
2160+
clojure-ts-mode-map)
2161+
'clojure-ts-mode-hook))
21632162

21642163
(provide 'cider)
21652164

0 commit comments

Comments
 (0)