[slime-cvs] CVS slime/contrib

mkoeppe mkoeppe at common-lisp.net
Sat Aug 25 03:59:56 UTC 2007


Update of /project/slime/cvsroot/slime/contrib
In directory clnet:/tmp/cvs-serv11241

Modified Files:
	swank-presentation-streams.lisp 
Log Message:
Update documentation


--- /project/slime/cvsroot/slime/contrib/swank-presentation-streams.lisp	2007/08/25 01:10:24	1.2
+++ /project/slime/cvsroot/slime/contrib/swank-presentation-streams.lisp	2007/08/25 03:59:56	1.3
@@ -10,19 +10,35 @@
 
 (in-package :swank)
 
-;; A mechanism for printing to the slime repl so that the printed
-;; result remembers what object it is associated with. Depends on the
-;; ilisp bridge code being installed and ready to intercept messages
-;; in the printed stream. We encode the information with a message
-;; saying that we are starting to print an object corresponding to a
-;; given id and another when we are done. The process filter notices these
-;; and adds the necessary text properties to the output.
-
+;; This file contains a mechanism for printing to the slime repl so
+;; that the printed result remembers what object it is associated
+;; with.  This extends the recording of REPL results.
+;;
+;; There are two methods:
+;;
+;; 1. Depends on the ilisp bridge code being installed and ready to
+;;    intercept messages in the printed stream. We encode the
+;;    information with a message saying that we are starting to print
+;;    an object corresponding to a given id and another when we are
+;;    done. The process filter notices these and adds the necessary
+;;    text properties to the output.
+;;
+;; 2. Use separate protocol messages :presentation-start and
+;;    :presentation-end for sending presentations.
+;;
 ;; We only do this if we know we are printing to a slime stream,
 ;; checked with the method slime-stream-p. Initially this checks for
-;; the knows slime streams looking at *connections*. In cmucl and
+;; the knows slime streams looking at *connections*. In cmucl, sbcl, and
 ;; openmcl it also checks if it is a pretty-printing stream which
 ;; ultimately prints to a slime stream.
+;;
+;; Method 1 seems to be faster, but the printed escape sequences can 
+;; disturb the column counting, and thus the layout in pretty-printing.
+;; We use method 1 when a dedicated output stream is used.  
+;;
+;; Method 2 is cleaner and works with pretty printing if the pretty
+;; printers support "annotations".  We use method 2 when no dedicated
+;; output stream is used.
 
 ;; Control
 (defvar *enable-presenting-readable-objects* t




More information about the slime-cvs mailing list