[climacs-cvs] CVS climacs

thenriksen thenriksen at common-lisp.net
Sat Sep 16 10:30:37 UTC 2006


Update of /project/climacs/cvsroot/climacs
In directory clnet:/tmp/cvs-serv11885

Modified Files:
	lisp-syntax.lisp lisp-syntax-swine.lisp 
Log Message:
More fixes regarding handling of quoted forms.


--- /project/climacs/cvsroot/climacs/lisp-syntax.lisp	2006/09/15 22:34:24	1.116
+++ /project/climacs/cvsroot/climacs/lisp-syntax.lisp	2006/09/16 10:30:37	1.117
@@ -1565,6 +1565,12 @@
 (defmethod form-operator (syntax (form list-form))
   (first-form (rest (children form))))
 
+(defmethod form-operator (syntax (form complete-quote-form))
+  (first-form (rest (children (second (children form))))))
+
+(defmethod form-operator (syntax (form complete-backquote-form))
+  (first-form (rest (children (second (children form))))))
+
 (defgeneric form-operands (syntax form)
   (:documentation "Returns the operands of `form' as a list of
   tokens. Returns nil if none can be found.")
@@ -1698,6 +1704,12 @@
 
 (define-form-predicate comment-p (comment))
 
+(defgeneric form-at-top-level-p (form)
+  (:documentation "Return NIL if `form' is not a top-level-form,
+  T otherwise.")
+  (:method ((form t))
+    (typep (parent form) 'form*)))
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;
 ;;; Useful functions for modifying forms based on the mark.
@@ -2013,7 +2025,8 @@
   (loop for (first . rest) on children
      if (formp first)
      do
-       (cond ((< (start-offset first) offset (end-offset first))
+       (cond ((and (< (start-offset first) offset)
+                   (<= offset (end-offset first)))
               (return (if (null (children first))
                           nil
                           (form-before-in-children (children first) offset))))
--- /project/climacs/cvsroot/climacs/lisp-syntax-swine.lisp	2006/09/15 22:34:24	1.9
+++ /project/climacs/cvsroot/climacs/lisp-syntax-swine.lisp	2006/09/16 10:30:37	1.10
@@ -1424,7 +1424,8 @@
         (funcall fn syntax
                  (if useful-token
                      (start-offset (fully-quoted-form token))
-                     (if (form-quoted-p token)
+                     (if (and (form-quoted-p token)
+                              (form-incomplete-p token))
                          (start-offset token)
                          (offset mark)))
                  (if useful-token




More information about the Climacs-cvs mailing list