[climacs-cvs] CVS update: climacs/buffer.lisp climacs/pane.lisp
Robert Strandh
rstrandh at common-lisp.net
Tue Jan 18 10:11:33 UTC 2005
Update of /project/climacs/cvsroot/climacs
In directory common-lisp.net:/tmp/cvs-serv4423
Modified Files:
buffer.lisp pane.lisp
Log Message:
Added :stream argument to presentations of characters
Date: Tue Jan 18 02:11:30 2005
Author: rstrandh
Index: climacs/buffer.lisp
diff -u climacs/buffer.lisp:1.21 climacs/buffer.lisp:1.22
--- climacs/buffer.lisp:1.21 Sat Jan 15 15:13:46 2005
+++ climacs/buffer.lisp Tue Jan 18 02:11:29 2005
@@ -451,9 +451,13 @@
(make-condition 'no-such-offset :offset offset1))
(assert (<= 0 offset2 (size buffer)) ()
(make-condition 'no-such-offset :offset offset2))
- (coerce (loop for offset from offset1 below offset2
- collect (buffer-object buffer offset))
- 'vector))
+ (if (< offset1 offset2)
+ (loop with result = (make-array (- offset2 offset1))
+ for offset from offset1 below offset2
+ for i upfrom 0
+ do (setf (aref result i) (buffer-object buffer offset))
+ finally (return result))
+ (make-array 0)))
(defgeneric object-before (mark)
(:documentation "Return the object that is immediately before the mark. If mark is at
Index: climacs/pane.lisp
diff -u climacs/pane.lisp:1.4 climacs/pane.lisp:1.5
--- climacs/pane.lisp:1.4 Mon Jan 17 15:10:24 2005
+++ climacs/pane.lisp Tue Jan 18 02:11:29 2005
@@ -165,13 +165,13 @@
(output-word index)
(updating-output (pane :unique-id (incf id)
:cache-value obj)
- (present obj)))
+ (present obj 'character :stream pane)))
(t
(output-word index)
(updating-output (pane :unique-id (incf id)
:cache-value obj
:cache-test #'eq)
- (present obj))))
+ (present obj 'character :stream pane))))
(incf scan)
finally (output-word index)
(when (mark= scan (point pane))
More information about the Climacs-cvs
mailing list