Changeset 3703

Show
Ignore:
Timestamp:
07/31/08 09:44:11 (4 months ago)
Author:
hans
Message:

STREAM->OUTPUT-STREAM to avoid package lock errors

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/projects/quickhoney/src/handlers.lisp

    r3702 r3703  
    434434 
    435435(defclass json-output-stream () 
    436   ((stream :reader stream 
    437            :initarg :stream) 
     436  ((output-stream :reader output-stream 
     437                  :initarg :output-stream) 
    438438   (stack :accessor stack 
    439439          :initform nil))) 
     
    441441(defun next-aggregate-element () 
    442442  (if (car (stack *json-output*)) 
    443       (princ #\, (stream *json-output*)) 
     443      (princ #\, (output-stream *json-output*)) 
    444444      (setf (car (stack *json-output*)) t))) 
    445445 
    446446(defmacro with-json-output ((stream) &body body) 
    447   `(let ((*json-output* (make-instance 'json-output-stream :stream ,stream))) 
     447  `(let ((*json-output* (make-instance 'json-output-stream :output-stream ,stream))) 
    448448     ,@body)) 
    449449 
     
    457457     (when (stack *json-output*) 
    458458       (next-aggregate-element)) 
    459      (princ ,begin-char (stream *json-output*)) 
     459     (princ ,begin-char (output-stream *json-output*)) 
    460460     (push nil (stack *json-output*)) 
    461461     (prog1 
    462462         (progn ,@body) 
    463463       (pop (stack *json-output*)) 
    464        (princ ,end-char (stream *json-output*))))) 
     464       (princ ,end-char (output-stream *json-output*))))) 
    465465 
    466466(defmacro with-json-array (() &body body) 
     
    474474(defun encode-array-element (object) 
    475475  (next-aggregate-element) 
    476   (json:encode-json object (stream *json-output*))) 
     476  (json:encode-json object (output-stream *json-output*))) 
    477477 
    478478(defun encode-object-element (key value) 
    479479  (next-aggregate-element) 
    480   (json:encode-json key (stream *json-output*)) 
    481   (princ #\: (stream *json-output*)) 
    482   (json:encode-json value (stream *json-output*))) 
     480  (json:encode-json key (output-stream *json-output*)) 
     481  (princ #\: (output-stream *json-output*)) 
     482  (json:encode-json value (output-stream *json-output*))) 
    483483 
    484484(defmethod handle-object ((handler news-json-handler) (channel rss-channel))