anchor.diff:           (adjust-table-cells ,table ,stream)
            (setf (output-record-position ,table)
                  (values ,cursor-old-x ,cursor-old-y))
  -         (replay-output-record ,table ,stream)
            (if ,move-cursor
                ;; FIXME!!!
                #+ignore
  -             (setf (cursor-position ,table) (values cursor-new-x cursor-new-y))
  +             (setf (stream-cursor-position ,stream)
  +                   (values cursor-new-x cursor-new-y))
                #-ignore
                nil
                (setf (stream-cursor-position ,stream)
  -                   (values ,cursor-old-x ,cursor-old-y))))
  -       ,table)))
  +                   (values ,cursor-old-x ,cursor-old-y)))
  +         (replay ,table ,stream)))))
   
   ;;; Internal
   (defgeneric table-cell-spacing (table)
  
positive.code:   (declare (type symbol stream))
    (when (eq stream 't)
      (setq stream '*standard-output*))
    (let ((parent (gensym)))
      `(progn
         (let ((,parent (stream-current-output-record ,stream)))
           (assert (table-output-record-p ,parent)))
  
negative.code:                                                `(stream-vertical-spacing ,stream))
                                            :vertical)
                    :multiple-columns ,multiple-columns
                    :multiple-columns-x-spacing ,multiple-columns-x-spacing
                    :equalize-column-widths ,equalize-column-widths)
         (multiple-value-bind (,cursor-old-x ,cursor-old-y)
             (stream-cursor-position ,stream)
  