Ticket #20: pprint-gray-streams.lisp

File pprint-gray-streams.lisp, 922 bytes (added by Mark Evenson, 15 years ago)

Patch gray-streams/pretty printer (XP) interaction

Line 
1(require 'pprint)
2(require 'gray-streams)
3
4(in-package :gray-streams)
5
6(defparameter *debug-args* nil)
7(defparameter *args* nil)
8
9(defmethod stream-write-string ((stream t) string &optional start end)
10  (warn "stream-write-string invoked with unhandled stream type: ~A~%" 
11  (type-of stream)))
12
13(defmethod stream-write-string ((stream xp::xp-structure) string
14        &optional (start 0) (end (length string)))
15  (when *debug-args*
16    (push (list :stream-write-string stream string start end) *args*))
17  (let ((start (or start 0))
18  (end (or end (length string))))
19    (xp::write-string+ string stream start end)))
20
21(defmethod stream-write-char ((stream t) char)
22  (warn "stream-write-char invoked with unhandled stream type: ~A~%" 
23  (type-of stream)))
24
25(defmethod stream-write-char ((stream xp::xp-structure) char)
26  (when *debug-args*
27    (push (list :stream-write-char stream char) *args*))
28  (xp::write-char+ char stream))