Version 3.4.0 of package Inf-Clojure has just been released in NonGNU ELPA.
You can now find it in M-x list-packages RET.

Inf-Clojure describes itself as:

  =====================================
  Basic interaction with a Clojure REPL
  =====================================

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

## Summary:

  This package provides basic interaction with a Clojure subprocess (REPL).
  It's based on ideas from the popular `inferior-lisp` package.

  `inf-clojure` has two components - a nice Clojure REPL (`inf-clojure-mode`)
  and a minor mode (`inf-clojure-minor-mode`), which extends `clojure-mode`
  with commands to evaluate forms directly in the REPL.

  `inf-clojure` provides a set of essential features for interactive
  Clojure/ClojureScript/ClojureCLR development:

  * REPL
  * Interactive code evaluation
  * Code completion
  * Definition lookup
  * Documentation lookup
  * ElDoc
  * Apropos
  * Macroexpansion
  * Namespace reloading
  * Connecting to socket REPLs

  It supports many Clojure runtimes including Clojure (JVM), ClojureScript,
  ClojureCLR, babashka, Planck, and Joker.

## Recent NEWS:

# Changelog

## master (unreleased)

## 3.4.0 (2026-02-27)

### New features

- [#57](https://github.com/clojure-emacs/inf-clojure/issues/57): Add 
`inf-clojure-show-var-meta` command (`C-c C-S-m`) to display a var's metadata.
- [#205](https://github.com/clojure-emacs/inf-clojure/issues/205): Add 
`inf-clojure-eval-ns-aware` option for namespace-aware evaluation.

### Changes

- Unify `reload` and `reload-all` forms with `inf-clojure-repl-features`, 
enabling per-REPL-type dispatch. The standalone `inf-clojure-reload-form` and 
`inf-clojure-reload-all-form` defcustoms have been removed.
- Deduplicate Clojure-family REPL feature definitions via a shared base alist.
- [#143](https://github.com/clojure-emacs/inf-clojure/issues/143): 
`inf-clojure-show-arglists` now displays results in the REPL buffer instead of 
the minibuffer.
- Drop support for `lein-clr` (abandonware).
- Use the modern `eldoc-documentation-functions` hook instead of the deprecated 
`eldoc-documentation-function`.
- Remove unused `inf-clojure-chomp` function.

### Bugs fixed

- Fix `inf-clojure-connected-p` to check for a live process.
- Fix truncated autoload cookie on `inf-clojure-connect`.
- Fix `prefix-arg` vs `current-prefix-arg` in REPL startup.
- Fix `inf-clojure--clojure-buffer-p` to work on Emacs 28-29 (`derived-mode-p` 
does not accept a list before Emacs 30).
- [#219](https://github.com/clojure-emacs/inf-clojure/issues/219): Fix 
`project-root` error when no project is detected (e.g. Squint REPL outside a 
project).
- [#136](https://github.com/clojure-emacs/inf-clojure/issues/136): Fix 
preoutput filter to handle chunked comint output correctly, preventing spurious 
newlines (#153) and improving reliability of output filtering.
- Fix node-babashka auto-detection by adding its startup form entry.
- [#149](https://github.com/clojure-emacs/inf-clojure/issues/149): Show 
confirmation message after `inf-clojure-set-ns`.

## 3.3.0 (2025-05-25)

### New features

- [#202](https://github.com/clojure-emacs/inf-clojure/issues/202): Add 
ClojureCLR support.
- [#210](https://github.com/clojure-emacs/inf-clojure/pull/210) Include 
`inf-clojure-socket-repl` to create a socket REPL and connect to it from inside 
Emacs.
- [#217](https://github.com/clojure-emacs/inf-clojure/pull/217): Add 
`clojure-ts-mode` support.

### Changes

- Improve support for multiple forms in the same line by replacing 
`beginning-of-defun` fn.
- [#204](https://github.com/clojure-emacs/inf-clojure/issues/204): Scroll repl 
buffer on insert commands
- [#208](https://github.com/clojure-emacs/inf-clojure/pull/208) Display message 
after setting REPL.
- Require Emacs 28.
- Drop support for Lumo.

## 3.2.1 (2022-07-22)

### Bugs fixed

- Address some small issues with NonGNU ELPA (e.g. missing maintainer metadata).

## 3.2.0 (2022-07-15)

### New features

- [#168](https://github.com/clojure-emacs/inf-clojure/pull/197): New helper 
function `inf-clojure-switch-to-recent-buffer` to select the last buffer an 
inf-clojure process buffer was swapped to from.
- [#187](https://github.com/clojure-emacs/inf-clojure/pull/197): New defcustom 
`inf-clojure-enable-eldoc` to disable eldoc interaction.

### Bugs fixed

- [#185](https://github.com/clojure-emacs/inf-clojure/issues/185): Improve cmd 
string splitting.
- [#193](https://github.com/clojure-emacs/inf-clojure/pull/193): Set syntax 
table in REPL buffer.
- Fix `inf-clojure-display-version` (it wasn't extracting properly the package 
version).

## 3.1.0 (2021-07-23)

### New features

- [#190](https://github.com/clojure-emacs/inf-clojure/pull/190): Helper 
function `inf-clojure-set-repl` to select inf-clojure process buffer.
- Auto-enable `inf-clojure-minor-mode` after invoking `inf-clojure`. This 
behaviour is controlled via `inf-clojure-auto-mode`.
- Include the project name automatically in the REPL buffer name.

### Bugs fixed

- [#152](https://github.com/clojure-emacs/inf-clojure/issues/152): Sanitize 
should only remove whitespace at the end of a command.
- [#188](https://github.com/clojure-emacs/inf-clojure/pull/188): Handle 
newlines between forms for `inf-clojure-eval-buffer`.
...
...

Reply via email to