[slime-cvs] CVS slime
CVS User nsiivola
nsiivola at common-lisp.net
Sun May 8 10:16:21 UTC 2011
Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv9457
Modified Files:
ChangeLog slime.el
Log Message:
slime-indentation: make custom indentation hints from CL side work right
* Downcase symbol-names for convenience -- |&lambda| gets tedious
pretty quick.
* Intern strings in indentation specs on the Emacs side, so that
complex indentation hints can work.
--- /project/slime/cvsroot/slime/ChangeLog 2011/04/16 05:17:59 1.2187
+++ /project/slime/cvsroot/slime/ChangeLog 2011/05/08 10:16:20 1.2188
@@ -1,3 +1,14 @@
+2011-05-08 Nikodemus Siivola <nikodemus at random-state.net>
+
+ * slime.el (slime-intern-indentation-spec): New function. Converts
+ strings in an indentation spec to symbols.
+ (slime-handle-indentation-update): Intern the indentation spec using
+ slime-intern-indentation-spec, so that lisp side can pass complex indentation
+ specs.
+ * contrib/swank-indentation.lisp (application-indentation-hint): Downcase
+ symbol names -- any symbol in an indentation spec is pretty much guaranteed
+ to have a lowecase name on the Emacs side.
+
2011-04-16 Stas Boukarev <stassats at gmail.com>
* slime.el (slime-load-failed-fasl): New variable. Accepts `ask',
--- /project/slime/cvsroot/slime/slime.el 2011/04/16 05:17:59 1.1363
+++ /project/slime/cvsroot/slime/slime.el 2011/05/08 10:16:20 1.1364
@@ -6921,6 +6921,15 @@
(defvar slime-indentation-update-hooks)
+(defun slime-intern-indentation-spec (spec)
+ (cond ((consp spec)
+ (cons (slime-intern-indentation-spec (car spec))
+ (slime-intern-indentation-spec (cdr spec))))
+ ((stringp spec)
+ (intern spec))
+ (t
+ spec)))
+
(defun slime-handle-indentation-update (alist)
"Update Lisp indent information.
@@ -6929,7 +6938,7 @@
is setup, unless the user already set one explicitly."
(dolist (info alist)
(let ((symbol (intern (car info)))
- (indent (cdr info)))
+ (indent (slime-intern-indentation-spec (cdr info))))
;; Does the symbol have an indentation value that we set?
(when (equal (get symbol 'common-lisp-indent-function)
(get symbol 'slime-indent))
More information about the slime-cvs
mailing list