[bknr-cvs] hans changed trunk/libraries/yason/encode.lisp

Revision: 4168 Author: hans URL: http://bknr.net/trac/changeset/4168 Add stream argument to WRITE-* invocations in ENCODE methods. Next time, I'll go for "patch" instead of doing patches received by hand. Thanks to Nathan Froyd for patiently reporting ;). U trunk/libraries/yason/encode.lisp Modified: trunk/libraries/yason/encode.lisp =================================================================== --- trunk/libraries/yason/encode.lisp 2009-01-26 10:22:52 UTC (rev 4167) +++ trunk/libraries/yason/encode.lisp 2009-01-26 14:23:00 UTC (rev 4168) @@ -27,14 +27,14 @@ #\Tab "\\t"))) (defmethod encode ((string string) &optional (stream *standard-output*)) - (write-char #\") + (write-char #\" stream) (dotimes (i (length string)) (let* ((char (aref string i)) (replacement (gethash char *char-replacements*))) (if replacement - (write-string replacement) - (write-char char)))) - (write-char #\") + (write-string replacement stream) + (write-char char stream)))) + (write-char #\" stream) string) (defmethod encode ((object rational) &optional (stream *standard-output*)) @@ -53,41 +53,41 @@ (princ object stream)) (defmethod encode ((object hash-table) &optional (stream *standard-output*)) - (write-char #\{) + (write-char #\{ stream) (let (printed) (maphash (lambda (key value) (if printed - (write-char #\,) + (write-char #\, stream) (setf printed t)) (encode key stream) - (write-char #\:) + (write-char #\: stream) (encode value stream)) object)) - (write-char #\}) + (write-char #\} stream) object) (defmethod encode ((object vector) &optional (stream *standard-output*)) - (write-char #\[) + (write-char #\[ stream) (let (printed) (loop for value across object do (when printed - (write-char #\,)) + (write-char #\, stream)) (setf printed t) (encode value stream))) - (write-char #\]) + (write-char #\] stream) object) (defmethod encode ((object list) &optional (stream *standard-output*)) - (write-char #\[) + (write-char #\[ stream) (let (printed) (dolist (value object) (if printed - (write-char #\,) + (write-char #\, stream) (setf printed t)) (encode value stream))) - (write-char #\]) + (write-char #\] stream) object) (defmethod encode ((object (eql 'true)) &optional (stream *standard-output*))
participants (1)
-
BKNR Commits