[climacs-cvs] CVS update: climacs/lisp-syntax.lisp
Robert Strandh
rstrandh at common-lisp.net
Mon Jul 11 09:19:15 UTC 2005
Update of /project/climacs/cvsroot/climacs
In directory common-lisp.net:/tmp/cvs-serv14099
Modified Files:
lisp-syntax.lisp
Log Message:
indentation for defgeneric
Date: Mon Jul 11 11:19:15 2005
Author: rstrandh
Index: climacs/lisp-syntax.lisp
diff -u climacs/lisp-syntax.lisp:1.9 climacs/lisp-syntax.lisp:1.10
--- climacs/lisp-syntax.lisp:1.9 Mon Jul 11 10:47:50 2005
+++ climacs/lisp-syntax.lisp Mon Jul 11 11:19:15 2005
@@ -1246,12 +1246,28 @@
(case (car path)
((2 3)
;; in the class name or superclasses respectively
- (indent-list syntax (elt (children tree) 2) (cdr path)))
- (3
+ (indent-list syntax (elt (children tree) (car path)) (cdr path)))
+ (4
;; in the slot specs
- (indent-slot-specs syntax (elt (children tree) 3) (cdr path)))
+ (indent-slot-specs syntax (elt (children tree) 4) (cdr path)))
(t
;; this is an approximation, might want to do better
+ (indent-list syntax (elt (children tree) (car path)) (cdr path))))))
+
+(defmethod compute-list-indentation
+ ((syntax lisp-syntax) (symbol (eql 'defgeneric)) tree path)
+ (if (null (cdr path))
+ ;; top level
+ (values tree (if (<= (car path) 3) 4 2))
+ (case (car path)
+ (2
+ ;; in the function name
+ (indent-list syntax (elt (children tree) 2) (cdr path)))
+ (3
+ ;; in the lambda-list
+ (indent-lambda-list syntax (elt (children tree) 3) (cdr path)))
+ (t
+ ;; in the options or method specifications
(indent-list syntax (elt (children tree) (car path)) (cdr path))))))
(defun compute-path-in-trees (trees n offset)
More information about the Climacs-cvs
mailing list