[slime-cvs] CVS slime

mkoeppe mkoeppe at common-lisp.net
Fri Jun 16 16:34:14 UTC 2006


Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv13399

Modified Files:
	swank.lisp 
Log Message:
(operator-designator-to-form): Handle :cerror.
(extra-keywords cerror): Make it work.


--- /project/slime/cvsroot/slime/swank.lisp	2006/05/31 19:27:13	1.380
+++ /project/slime/cvsroot/slime/swank.lisp	2006/06/16 16:34:14	1.381
@@ -1412,6 +1412,9 @@
         (let ((parsed-operator-name (parse-symbol operator-name)))
           (values `(,parsed-operator-name ',(parse-symbol class-name))
                   operator-name)))
+       ((:cerror continue-string class-name)
+        (values `(cerror ,continue-string ',(parse-symbol class-name))
+                'cerror))
        ((:defmethod generic-name)
         (values `(defmethod ,(parse-symbol generic-name))
                 'defmethod))))
@@ -1893,15 +1896,19 @@
   (multiple-value-or (apply #'extra-keywords/make-instance operator args)
                      (call-next-method)))
 
-;;; FIXME: these two don't work yet: they need extra support from
-;;; slime.el (slime-enclosing-operator-names) and swank.lisp
-;;; (OPERATOR-DESIGNATOR-TO-FORM).
 (defmethod extra-keywords ((operator (eql 'cerror))
                            &rest args)
-  (multiple-value-or (apply #'extra-keywords/make-instance operator
-                            (cdr args))
-                     (call-next-method)))
+  (multiple-value-bind (keywords aok determiners)
+      (apply #'extra-keywords/make-instance operator
+             (cdr args))
+    (if keywords
+        (values keywords aok
+                (cons (car args) determiners))
+        (call-next-method))))
 
+;;; FIXME: this one doesn't work yet:  it needs extra support from
+;;; slime.el (slime-extended-operator-name-parser-alist) and swank.lisp
+;;; (OPERATOR-DESIGNATOR-TO-FORM).
 (defmethod extra-keywords ((operator (eql 'change-class)) 
                            &rest args)
   (multiple-value-or (apply #'extra-keywords/change-class operator (cdr args))




More information about the slime-cvs mailing list