From 12cc35698bec0b01a6bb74ce542eb259b3b58547 Mon Sep 17 00:00:00 2001 From: Michael Glaesemann Date: Tue, 17 Mar 2026 21:28:02 -0600 Subject: [PATCH] Update current-local-map during paredit setup to work with edn-mode Using current-local-map instead of clojure-mode-map allows the edn-mode-map to be updated in edn-mode (and, of course, the clojure-mode-map to be updated in clojure-mode). Using clojure-mode-map directly prevented edn-mode from inheriting the benefits of clojure-paredit-setup, such as auto-pairing curly braces. --- CHANGELOG.md | 4 ++++ clojure-mode.el | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4047b002..189dbd93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## master (unreleased) +### Bugs fixed + +* Fix `clojure-paredent-setup` to apply to `edn-mode-map` as well as `clojure-mode-map`. + ## 5.22.0 (2026-03-03) ### New features diff --git a/clojure-mode.el b/clojure-mode.el index 5e249a84..674197d0 100644 --- a/clojure-mode.el +++ b/clojure-mode.el @@ -586,14 +586,14 @@ bracket.") (clojure--replace-sexps-with-bindings-and-indent)))) (defun clojure-paredit-setup (&optional keymap) - "Make \"paredit-mode\" play nice with `clojure-mode'. + "Make \"paredit-mode\" play nice with `clojure-mode and `edn-mode'. If an optional KEYMAP is passed the changes are applied to it, instead of to `clojure-mode-map'. Also advice `paredit-convolute-sexp' when used on a let form as drop in replacement for `cljr-expand-let`." (when (>= paredit-version 21) - (let ((keymap (or keymap clojure-mode-map))) + (let ((keymap (or keymap (current-local-map)))) (define-key keymap "{" #'paredit-open-curly) (define-key keymap "}" #'paredit-close-curly)) (make-local-variable 'paredit-space-for-delimiter-predicates)