https://github.com/Shinmera/trivial-indent.git
git clone 'https://github.com/Shinmera/trivial-indent.git'
(ql:quickload :trivial-indent)
This allows you to define custom indentation hints for your macros if the one recognised by Slime automatically produces unwanted results.
The only feature of this that you will really need to use is DEFINE-INDENTATION
.
(define-indentation defmacro (4 &lambda &body))
(define-indentation something-more-complex (4 &rest (&whole 2 0 4 &body)))
For more information on how the indentation rule forms work, please refer to the Slime source and documentation. Otherwise just faffing about until it produces the indentation you need works well too.