[slime-devel] Indentation question

Nikodemus Siivola nikodemus at random-state.net
Sun May 8 10:19:28 UTC 2011


So, turns out that slime-indentation contrib has the hooks for just
what I needed.

...only the code had a bit of bitrot in it, as intentation specs with
symbols in them ended up having strings on the Emacs side. I just
committed a fix for that, so what now I can do eg:

(defvar *indentation-hint-table* nil)

(defun hint-slime-indentation ()
  (let* ((swank (find-package :swank))
         (tables (when swank
                   (find-symbol (string '#:*application-hints-tables*) swank))))
    (when tables
      (let ((table (make-hash-table :test #'eq)))
        (setf (gethash 'defrule table)
              '(4 &lambda &rest (&whole 2 &lambda &body)))
        (set tables (cons table (remove *indentation-hint-table*
(symbol-value tables))))
        (setf *indentation-hint-table* table))
      t)))

(hint-slime-indentation)

on the CL side to tell Slime how to indent things it's regular
heuristics don't get right.

Cheers,

 -- Nikodemus




More information about the slime-devel mailing list