[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