[climacs-cvs] CVS climacs

thenriksen thenriksen at common-lisp.net
Sun Aug 20 10:29:18 UTC 2006


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

Modified Files:
	pane.lisp 
Log Message:
Improve performance slighly by changing the use of `updating-output'


--- /project/climacs/cvsroot/climacs/pane.lisp	2006/07/27 13:58:57	1.47
+++ /project/climacs/cvsroot/climacs/pane.lisp	2006/08/20 10:29:17	1.48
@@ -371,6 +371,7 @@
 	     (unless (null saved-index)
 	       (let ((contents (coerce (subseq line saved-index index) 'string)))
 		 (updating-output (pane :unique-id (incf id)
+                                        :id-test #'=
 					:cache-value contents
 					:cache-test #'string=)
 		   (present-contents contents pane)))
@@ -400,13 +401,16 @@
 			((characterp obj)
 			 (output-word index)
 			 (updating-output (pane :unique-id (incf id)
-						:cache-value obj)
+                                                :id-test #'=
+						:cache-value obj
+                                                :cache-test #'equal)
 			   (present obj 'character :stream pane)))
 			(t
 			 (output-word index)
 			 (updating-output (pane :unique-id (incf id)
+                                                :id-test #'=
 						:cache-value obj
-						:cache-test #'eq)
+						:cache-test #'equal)
 			   (present obj 'character :stream pane))))
 		  (incf scan)
 	       finally (output-word index)
@@ -547,15 +551,12 @@
 	   for id from 0 below (nb-elements cache)
 	   do (setf scan start-offset)
 	      (updating-output
-		  (pane :unique-id (element* cache id)
-			:cache-value (if (<= start-offset
-					     (offset (point pane))
-					     (+ start-offset (length (element* cache id))))
-					 (cons nil nil)
-					 (element* cache id))
-			:cache-test #'eq)
-		(display-line pane (element* cache id) start-offset
-			      (syntax (buffer pane)) (stream-default-view pane)))
+		  (pane :unique-id id
+                        :id-test #'equal
+			:cache-value (element* cache id)
+			:cache-test #'equal)
+ 		(display-line pane (element* cache id) start-offset
+ 			      (syntax (buffer pane)) (stream-default-view pane)))
 	      (incf start-offset (1+ (length (element* cache id)))))
      (when (mark= scan (point pane))
        (multiple-value-bind (x y) (stream-cursor-position pane)




More information about the Climacs-cvs mailing list