SLY is a fork of SLIME. We track its bugfixes, particularly to the
implementation backends. All SLIME's familiar features (debugger, inspector,
xref, etc...) are still available, with improved overall UX.
SLY's highlights are:
- A full-featured REPL based on Emacs's comint.el. Everything can be copied to
the REPL.
- Stickers, or live code annotations that record values as code traverses them.
- Flex-style completion out-of-the-box, using Emacs's completion API. Company,
Helm, and other supported natively, no plugin required.
- An interactive Trace Dialog.
- Cleanly ASDF-loaded by default, including contribs, enabled out-of-the-box.
- Multiple inspectors and multiple REPLs.
- "Presentations" replaced by interactive backreferences which highlight the
object and remain stable throughout the REPL session.
- Support for NAMED-READTABLES, macrostep.el and quicklisp.
- A portable, annotation-based stepper in early but functional prototype stage.
===> The following configuration options are available for sly-1.0.43.20230624_2:
DOCS=on: Build and/or install documentation
DOCS_PDF=on: Build PDF documentation (requires DOCS)
===> Use 'make config' to modify these settings
To enable autoloading of SLY, add this to some Emacs init file:
(require 'sly-autoloads)
You should specify some Lisp implementation. This works for both SLY and SLIME:
(setq inferior-lisp-program "path_to_your_lisp_binary")
SLY however has convenient specific variables for more complex
configurations. E.g.:
(setq sly-default-lisp 'sbcl
sly-lisp-implementations '((sbcl ("sbcl"))))
Please see their documentation.
Contribs in `sly-contribs' list are automatically loaded and enabled (and those
not in it are disabled) each time a new session is launched, or `sly-setup' is
called. If you define `sly-contribs' in some initialization file, be sure to
include sly-fancy in it (instead, you can add to the list using `add-to-list',
after the `require' above).
If you just want to immediately enable a contrib, you can instead use
`sly-enable-contrib', but be aware that the effect will be temporary. It will
last up to the next connection established or `sly-setup' call, unless you add
the contrib to `sly-contribs' in the meantime.
Chase editors/emacs update
- Bump Emacs version in Mk/Uses/emacs.mk to update version-specific
paths
- Bump PORTREVISION of ports with USES=emacs. This is required for two
reasons. Emacs lisp files need to be byte compiled for the new Emacs
version, and files installed under, e.g., EMACS_VERSION_SITE_LISPDIR
need to be relocated.
Reviewed by: ashish
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D44492
(cherry picked from commit 26421ac37c3c013c7809400976c866a8f70db436)
*/*: Chase editors/emacs update
- Bump Emacs version in Mk/Uses/emacs.mk to update version-specific
paths
- Bump PORTREVISION of ports with USES=emacs. This is required for two
reasons. Emacs lisp files need to be byte compiled for the new Emacs
version, and files installed under, e.g., EMACS_VERSION_SITE_LISPDIR
need to be relocated.
Reviewed by: ashish
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D43615
(cherry picked from commit ab463bdca9c29ec22be0c7e6d7aa27bb2a980b48)