[mcclim-cvs] CVS mcclim/Drei

thenriksen thenriksen at common-lisp.net
Sat Jan 19 20:06:02 UTC 2008


Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv30054/Drei

Modified Files:
	lisp-syntax.lisp 
Log Message:
Improved Forward Expression and fixed minor bug in Drei test suite.


--- /project/mcclim/cvsroot/mcclim/Drei/lisp-syntax.lisp	2008/01/15 15:53:53	1.68
+++ /project/mcclim/cvsroot/mcclim/Drei/lisp-syntax.lisp	2008/01/19 20:06:01	1.69
@@ -2034,13 +2034,17 @@
   (update-parse syntax 0 (offset mark))
   (let ((potential-form (or (form-after syntax (offset mark))
 			    (form-around syntax (offset mark)))))
-    (when (and (not (null potential-form))
-               (not (= (offset mark) (end-offset potential-form))))
-      (typecase potential-form
-        (reader-conditional-form
-         (setf (offset mark) (or (start-offset (first-form (children potential-form)))
-                                 (end-offset potential-form))))
-        (t (setf (offset mark) (end-offset potential-form)))))))
+    (when (not (null potential-form))
+      (when (and (not (form-at-top-level-p potential-form))
+                 (= (offset mark) (end-offset potential-form)))
+        (setf potential-form (parent potential-form)))
+      (when (and (not (null potential-form))
+                 (not (= (offset mark) (end-offset potential-form))))
+        (typecase potential-form
+          (reader-conditional-form
+           (setf (offset mark) (or (start-offset (first-form (children potential-form)))
+                                   (end-offset potential-form))))
+          (t (setf (offset mark) (end-offset potential-form))))))))
 
 (defmethod forward-delete-expression (mark (syntax lisp-syntax) &optional (count 1)
                                       (limit-action #'error-limit-action))




More information about the Mcclim-cvs mailing list