Skip to content

Commit

Permalink
Fix incorrect paredit binding override in #3335
Browse files Browse the repository at this point in the history
  • Loading branch information
yuhan0 authored and bbatsov committed Apr 26, 2023
1 parent 0fa58ac commit 3b8e539
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions cider-repl.el
Original file line number Diff line number Diff line change
Expand Up @@ -1839,6 +1839,15 @@ constructs."
(declare-function cider-complete-at-point "cider-completion")
(defvar cider--static-font-lock-keywords)

(defun cider-repl-setup-paredit ()
"Override the paredit-RET binding in cider-repl-mode."
(let ((oldmap (cdr (assoc 'paredit-mode minor-mode-map-alist)))
(newmap (make-sparse-keymap)))
(set-keymap-parent newmap oldmap)
(define-key newmap (kbd "RET") nil)
(make-local-variable 'minor-mode-overriding-map-alist)
(push `(paredit-mode . ,newmap) minor-mode-overriding-map-alist)))

(define-derived-mode cider-repl-mode fundamental-mode "REPL"
"Major mode for Clojure REPL interactions.
Expand Down Expand Up @@ -1866,12 +1875,8 @@ constructs."
(add-hook 'kill-buffer-hook #'cider-repl-history-just-save t t)
(add-hook 'kill-emacs-hook #'cider-repl-history-just-save))
(add-hook 'completion-at-point-functions #'cider-complete-at-point nil t)
(add-hook 'paredit-mode-hook
(lambda ()
(clojure-paredit-setup cider-repl-mode-map)
;; Disable paredit-RET, see https://github.com/clojure-emacs/cider/issues/3288
(make-local-variable 'paredit-mode-map)
(define-key paredit-mode-map "RET" nil))))
(add-hook 'paredit-mode-hook (lambda () (clojure-paredit-setup cider-repl-mode-map)))
(cider-repl-setup-paredit))

(provide 'cider-repl)

Expand Down

0 comments on commit 3b8e539

Please sign in to comment.