
Michael Livshin <gmane@cmm.kakpryg.net> writes:
the attached patch adds a way to define and access custom indentation specifications like this:
<example> (defmacro my-macro (name (&rest args) &body function-bindings) ...)
#+swank (setf (swank:emacs-indentation 'my-macro) '(6 4 (&whole 2 &rest (&whole 1 &lambda &body)))) </example>
I am also interested in a feature like this. In my opinion, an important consideration in implementing it is that FASL files generated within SLIME should still be loadable into non-SWANK images. I am using the following code to do that (for a different customization): ;; Arrange for SLIME to use the right readtable (when (find-package :swank) (push (cons :guile guile-internal::*guile-readtable*) (symbol-value (intern (symbol-name '#:*readtable-alist*) :swank))) (defmethod swank-backend:swank-compile-file :around (file-name load-p) (if (string= (pathname-type file-name) "scm") (let ((*package* (find-package :guile)) (*readtable* guile-internal::*guile-readtable*)) (call-next-method)) (call-next-method))) ) Because all references to the SWANK package are made at load time (not read or compile time), FASL files including the above code can still be loaded into non-SWANK images. A SWANK macro (SWANK:DEF-EMACS-INDENTATION?) that expands into something similar would be useful. Matthias -- Matthias Köppe -- http://www.math.uni-magdeburg.de/~mkoeppe (currently @math.ucdavis.edu)