NonGNU-devel ELPA - inf-clojure


Run an external Clojure process in an Emacs buffer
inf-clojure-, 2023-Sep-09, 120 KiB
Bozhidar Batsov <>
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

Full description

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 with
auto-completion and a minor mode (`inf-clojure-minor-mode`), which
extends `clojure-mode` with commands to evaluate forms directly in the

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

* Interactive code evaluation
* Code completion
* Definition lookup
* Documentation lookup
* ElDoc
* Apropos
* Macroexpansion
* Support connecting to socket REPLs
* Support for Lumo
* Support for Planck
* Support for Joker

For a more powerful/full-featured solution see

If you're installing manually, you'll need to:

* drop the file somewhere on your load path (perhaps ~/.emacs.d)
* Add the following lines to your .emacs file:

   (autoload 'inf-clojure "inf-clojure" "Run an inferior Clojure process" t)
   (add-hook 'clojure-mode-hook #'inf-clojure-minor-mode)

Old versions

inf-clojure- KiB
inf-clojure- KiB
inf-clojure- KiB
inf-clojure- KiB
inf-clojure- KiB
inf-clojure- KiB
inf-clojure- KiB
inf-clojure-3.2.0snapshot0.20220715.85649.tar.lz2022-Jul-1526.3 KiB
inf-clojure- KiB
inf-clojure- KiB



master (unreleased)

  • Improve support for multiple forms in the same line by replacing beginning-of-defun fn.
  • #202: Add ClojureCLR support.
  • #204: Scroll repl buffer on insert commands
  • #208 Display message after setting repl.
  • #210 Include inf-clojure-socket-repl to create a socket REPL and connect to it from inside Emacs.

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: New helper function inf-clojure-switch-to-recent-buffer to select the last buffer an inf-clojure process buffer was swapped to from.
  • #187: New defcustom inf-clojure-enable-eldoc to disable eldoc interaction.
Bugs fixed
  • #185: Improve cmd string splitting.
  • #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: 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: Sanitize should only remove whitespace at the end of a command.
  • #188: Handle newlines between forms for inf-clojure-eval-buffer.
  • #189: Font-lock code inserted in the REPL from a source buffer.

3.0.0 (2020-08-01)

New features
  • #174: Invoke inf-clojure with a prefix argument to prevent using inf-clojure-custom-startup and inf-clojure-custom-repl-type.
  • Made it possible to add user-defined REPL types (by modifying inf-clojure-repl-features).
  • (Breaking) Restructure massively the configuration. See inf-clojure-repl-features for details.
  • #174: Set REPL type from startup form or prompt at startup, introduce inf-clojure-custom-repl-type defcustom.
  • #173: Use clojure-mode's project detection instead of duplicate version in inf-clojure.
Bugs fixed
  • #178: Ensure a valid directory is used when starting process.

2.2.0 (2020-04-15)

New features
  • #170: Add insert defun and last sexp commands.
  • #160: Support Joker.
Bugs fixed
  • #164: Fix for eldoc-mode on ClojureCLR.
  • #135: Improve command sanitation code.
  • Fix info-clojure-apropos.

2.1.0 (2018-01-02)

New Features
  • #114: Introduce inf-clojure-project-type defcustom.
  • #117: Introduce tools.deps project type and inf-clojure-tools-deps-cmd.
  • #122: Introduce inf-clojure-completions-fn defcustom.
  • #128: Expose inf-clojure-apropos as C-c C-S-a in inf-clojure-mode (the REPL). ... ...