[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