[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