[NonGNU ELPA] Clojure-Mode version 5.22.0

ELPA update <[email protected]>
Newsgroups gmane.emacs.sources
Message-ID <[email protected]>
Version 5.22.0 of package Clojure-Mode has just been released in NonGNU ELPA.
You can now find it in M-x list-packages RET.

Clojure-Mode describes itself as:

  ===========================
  Major mode for Clojure code
  ===========================

More at https://elpa.nongnu.org/nongnu/clojure-mode.html

## Summary:

  Provides font-lock, indentation, navigation and basic refactoring for the
  Clojure programming language (https://clojure.org).

  Using clojure-mode with paredit or smartparens is highly recommended.

  Here are some example configurations:

    ;; require or autoload paredit-mode
    (add-hook 'clojure-mode-hook #'paredit-mode)

    ;; require or autoload smartparens
    (add-hook 'clojure-mode-hook #'smartparens-strict-mode)

  See inf-clojure (https://github.com/clojure-emacs/inf-clojure) for
  basic interaction with Clojure subprocesses.

  See CIDER (https://github.com/clojure-emacs/cider) for
  better interaction with subprocesses via nREPL.

## Recent NEWS:

# Changelog

## master (unreleased)

## 5.22.0 (2026-03-03)

### New features

* [#687](https://github.com/clojure-emacs/clojure-mode/issues/687): Add `clojure-preferred-build-tool` to control project root detection when multiple build tool files exist. When unset, prefer directories containing `.git` as a tiebreaker.
* [#688](https://github.com/clojure-emacs/clojure-mode/issues/688): Add `clojure-discard-face` for `#_` reader discard forms, allowing them to be styled differently from comments. Inherits from `font-lock-comment-face` by default.
* Add project root detection for ClojureCLR (`deps-clr.edn`).
* Give `edn-mode` its own keymap with data-appropriate bindings, excluding code-oriented refactoring commands.

### Changes

* Update font-locking of built-in dynamic vars for Clojure 1.12.
* Update `clojure-mode-extra-font-locking` for Clojure 1.10-1.12 (new functions in `clojure.core` and other bundled namespaces).
* Add `clojure.repl` section to `clojure-mode-extra-font-locking`.
* Remove non-existent entries from `clojure-mode-extra-font-locking` (`specify`, `specify!`, `special-form-anchor`, `syntax-symbol-anchor`, `stream?`).
* Extend `clojure--check-wrong-major-mode` to cover all derived modes (`.cljd`, `.jank`, `.joke`, `.edn`).
* Remove dead `.cljd` entry from `clojure-mode` `auto-mode-alist`.

### Bugs fixed

* [#402](https://github.com/clojure-emacs/clojure-mode/issues/402): Font-lock protocol method docstrings with `font-lock-doc-face`.
* [#649](https://github.com/clojure-emacs/clojure-mode/issues/649): Fix `clojure-add-arity` severing arglist metadata (`^String`, `^:keyword`, `^{...}`) when converting single-arity to multi-arity.
* [#600](https://github.com/clojure-emacs/clojure-mode/issues/600): Fix `clojure--valid-put-clojure-indent-call-p` rejecting valid indent specs with nested lists (e.g. `letfn`'s `(1 ((:defn)) nil)`).
* [#365](https://github.com/clojure-emacs/clojure-mode/issues/365): Font-lock function names in `letfn` bindings with `font-lock-function-name-face`.
* [#527](https://github.com/clojure-emacs/clojure-mode/issues/527): Fix `clojure-sort-ns` mangling `:gen-class` and other non-sortable ns forms.
* [#619](https://github.com/clojure-emacs/clojure-mode/issues/619): Fix `clojure-thread-last-all` breaking forms containing line comments by absorbing closing parens into comments.
* [#610](https://github.com/clojure-emacs/clojure-mode/issues/610): Fix `edn-mode` indentation to treat all paren lists as data rather than function calls.
* Fix `clojure-update-ns` broken by the removal of `clojure-namespace-name-regex`.
* Fix typos in `clojure-mode-extra-font-locking`: `halt-when?` -> `halt-when`, `simple-indent?` -> `simple-ident?`.
* Fix `doc` and `find-doc` misplaced under `clojure.core` instead of `clojure.repl` in extra font-locking.

## 5.21.0 (2026-02-18)

### New features

* [#650](https://github.com/clojure-emacs/clojure-mode/issues/650): Add `edn-mode`, a lightweight mode derived from `clojure-mode` with data-appropriate indentation for `.edn` files.
* [#439](https://github.com/clojure-emacs/clojure-mode/issues/439): Add `interpreter-mode-alist` entries for `clojure`, `clj`, `planck`, `joker`, and `jank`, so that scripts with shebang lines are recognized automatically.

### Bugs fixed

* [#658](https://github.com/clojure-emacs/clojure-mode/issues/658): Fix `clojure-mode-version` returning `nil`.
* [#686](https://github.com/clojure-emacs/clojure-mode/issues/686): Fix `clojure-find-def` failing when comments appear between the `def` form and the symbol name.
* [#637](https://github.com/clojure-emacs/clojure-mode/issues/637): Fix `clojure-find-def` failing on symbols containing special characters (e.g. `defn+`).

### Changes

* [#482](https://github.com/clojure-emacs/clojure-mode/issues/482): Bind `clojure-align` to `C-c C-a` (following Emacs keybinding conventions). The old `C-c SPC` binding is deprecated and will be removed in a future release.
* Bump the minimum required Emacs version to 27.1.

## 5.20.0 (2025-05-27)
...
...
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.