Version 3.2.1 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: ================================================== Run an external Clojure process in an Emacs buffer ================================================== 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 with auto-completion 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 * Support connecting to socket REPLs * Support for Lumo * Support for Planck * Support for Joker For a more powerful/full-featured solution see https://github.com/clojure-emacs/cider. ## Recent NEWS: # Changelog ## master (unreleased) * Improve support for multiple forms in the same line by replacing beginning-of-defun fn. * [#202](https://github.com/clojure-emacs/inf-clojure/issues/202): Add ClojureCLR support. * [#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. * [#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. ## 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`. * [#189](https://github.com/clojure-emacs/inf-clojure/pull/189): Font-lock code inserted in the REPL from a source buffer. ## 3.0.0 (2020-08-01) ### New features * [#174](https://github.com/clojure-emacs/inf-clojure/pull/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`). ### Changes * **(Breaking)** Restructure massively the configuration. See `inf-clojure-repl-features` for details. * [#174](https://github.com/clojure-emacs/inf-clojure/pull/174): Set REPL type from startup form or prompt at startup, introduce `inf-clojure-custom-repl-type` defcustom. * [#173](https://github.com/clojure-emacs/inf-clojure/issues/173): Use clojure-mode's project detection instead of duplicate version in inf-clojure. ### Bugs fixed * [#178](https://github.com/clojure-emacs/inf-clojure/issues/178): Ensure a valid directory is used when starting process. ## 2.2.0 (2020-04-15) ### New features * [#170](https://github.com/clojure-emacs/inf-clojure/pull/170): Add insert defun and last sexp commands. * [#160](https://github.com/clojure-emacs/inf-clojure/pull/160): Support [Joker](https://joker-lang.org/). ### Bugs fixed * [#164](https://github.com/clojure-emacs/inf-clojure/pull/164): Fix for eldoc-mode on ClojureCLR. * [#135](https://github.com/clojure-emacs/inf-clojure/pull/135): Improve command sanitation code. * Fix `info-clojure-apropos`. ## 2.1.0 (2018-01-02) ### New Features * [#114](https://github.com/clojure-emacs/inf-clojure/pull/114): Introduce `inf-clojure-project-type` defcustom. * [#117](https://github.com/clojure-emacs/inf-clojure/pull/117): Introduce `tools.deps` project type and `inf-clojure-tools-deps-cmd`. * [#122](https://github.com/clojure-emacs/inf-clojure/pull/122): Introduce `inf-clojure-completions-fn` defcustom. * [#128](https://github.com/clojure-emacs/inf-clojure/pull/128): Expose `inf-clojure-apropos` as `C-c C-S-a` in `inf-clojure-mode` (the REPL). ... ...
