Add GNU Emacs Support for the New Macros
Most Common Lisp is currently written in GNU Emacs using tools such as paredit and SLIME. This greatly simplifies things such as indentation, but radical macros tend to mess with the indentation (and potentially the syntax highlighting).
The problems can be divided into three parts:
- Some functions don't have correct indentation, such as locally bound function bodies (e.g.
flet*
doesn't indent likeflet
) and the&key
/etc. parts of custom lambda-lists. - Some names aren't highlighted when they should be. This library mostly avoids this problem by constantly using
define-
anddo-
while other macro suites might usedef
ordo
prefixes, but there are still some names that aren't highlighted. These includeflet*
andlabels*
. - If possible, highlight type names and defined names in places like
define-function
to match how Emacs highlights such things. Names should definitely be possible becausedefun
does this even though customdefine-foo
s do not. Types might not be possible becausecl:defmethod
doesn't support this highlighting for class names when it should.