[climacs-cvs] CVS update: climacs/buffer.lisp climacs/pane.lisp

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))
participants (1)
-
rstrandh@common-lisp.net