[climacs-cvs] CVS update: climacs/prolog-syntax.lisp

Christophe Rhodes crhodes at common-lisp.net
Tue Apr 5 20:28:30 UTC 2005


Update of /project/climacs/cvsroot/climacs
In directory common-lisp.net:/tmp/cvs-serv24772

Modified Files:
	prolog-syntax.lisp 
Log Message:
Enable incremental-redisplay / updating-output

This isn't as big a win as it could be, because of the invalidation of
lexemes without attempting to splice in the results of a previous lex.
(see FIXME comments in update-syntax-for-redisplay)

Date: Tue Apr  5 22:28:30 2005
Author: crhodes

Index: climacs/prolog-syntax.lisp
diff -u climacs/prolog-syntax.lisp:1.10 climacs/prolog-syntax.lisp:1.11
--- climacs/prolog-syntax.lisp:1.10	Mon Apr  4 23:00:42 2005
+++ climacs/prolog-syntax.lisp	Tue Apr  5 22:28:29 2005
@@ -56,7 +56,7 @@
   ())
 
 (defclass prolog-token (prolog-parse-tree)
-  ())
+  ((ink) (face)))
 
 (defclass prolog-operator (prolog-token)
   ())
@@ -942,18 +942,15 @@
 (defmethod display-parse-tree ((entity prolog-token) (syntax prolog-syntax) pane)
   (flet ((cache-test (t1 t2)
 	   (and (eq t1 t2)
-		#+nil
 		(eq (slot-value t1 'ink)
 		    (medium-ink (sheet-medium pane)))
-		#+nil
 		(eq (slot-value t1 'face)
 		    (text-style-face (medium-text-style (sheet-medium pane)))))))
-#|    (updating-output (pane :unique-id entity
+    (updating-output (pane :unique-id entity
 			   :id-test #'eq
 			   :cache-value entity
-			   :cache-test #'cache-test)|#
-      (with-slots (#|ink face|#) entity
-	 #+nil
+			   :cache-test #'cache-test)
+      (with-slots (ink face) entity
 	 (setf ink (medium-ink (sheet-medium pane))
 	       face (text-style-face (medium-text-style (sheet-medium pane))))
 	 (let ((string (coerce (buffer-sequence (buffer syntax)
@@ -976,7 +973,7 @@
 		  (handle-whitespace pane (buffer pane)
 				     (+ (start-offset entity) nl)
 				     (+ (start-offset entity) nl 1))
-		  (setf start (+ nl 1))))))))))
+		  (setf start (+ nl 1)))))))))))
 
 (defmethod display-parse-tree :before ((entity prolog-lexeme) (syntax prolog-syntax) pane)
   (handle-whitespace pane (buffer pane) *white-space-start* (start-offset entity))




More information about the Climacs-cvs mailing list