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)) |
---|