doomemacs/modules/lang/common-lisp/README.org
Henrik Lissner 1abcf913aa
revert: fix(docs): set mode in file-local vars
emacs-straight/org-mode@e22b4eb7aa introduced a breaking change that
made it impossible to rely on .dir-locals.el to change org-mode buffers
in $EMACSDIR to doom-docs-org-mode (without infinite recursion), so we
used file-local variables in 7e400ab.

emacs-straight/org-mode@215de6176b reverted that change, so we can use
.dir-locals.el again, and this is my preference, since it requires less
boilerplate across our hundreds of org files.

Ref: emacs-straight/org-mode@215de6176b
Ref: emacs-straight/org-mode@e22b4eb7aa
Revert: 7e400abdc0
2022-08-07 19:08:07 +02:00

79 lines
2.8 KiB
Org Mode

#+title: :lang common-lisp
#+subtitle: If you've seen one lisp, you've seen them all
#+created: June 13, 2018
#+since: 21.12.0
* Description :unfold:
This module provides support for [[https://lisp-lang.org/][Common Lisp]] and the [[doom-package:][Sly]] development
environment. Common Lisp is not a single language but a specification, with many
competing compiler implementations. By default, [[http://www.sbcl.org/][Steel Bank Common Lisp]] (SBCL) is
assumed to be installed, but this can be configured.
Common Lisp benefits from a mature specification and rich standard library.
Thanks to its powerful REPL and debugger, it boasts an "interactive programming"
style often unseen in other languages. Compiled Common Lisp programs are trusted
to run unmodified for a long time.
** Maintainers
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:][sly]]
- [[doom-package:][sly-macrostep]]
- [[doom-package:][sly-repl-ansi-color]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
This module requires [[http://www.sbcl.org/][SBCL]].
* TODO Usage
#+begin_quote
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
This module does not integrate with [[doom-module:][:tools lsp]]. Sly (and SLIME before it) is
considered the defacto development environment for Common Lisp and provides much
of what is normally expected of an LSP, plus tight integration with the REPL and
Emacs.
** Sly
Using this module is mostly a matter of using Sly. Please consider reading
through [[http://joaotavora.github.io/sly/#A-SLY-tour-for-SLIME-users][the Sly Tour]].
A Sly session will be started when you open a =.lisp= file. Use [[kbd:][<localleader> ']]
to switch to the REPL minibuffer.
** org-mode
This module also enables the evaluation of =lisp= source blocks in Org Mode.
However, you will need a running Sly session for this to work. ~M-x sly~ starts
such a session if you didn't have one open already.
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
If you don't want Sly to use SBCL, you can configure the variable
~inferior-lisp-program~ to some other binary on your PATH.
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote