anchor.diff:                               ((lambda (major minor) height width) x 0)
                                ((lambda (major minor) width height) x 0)
                                ((lambda (major minor) height width) width real-width)
  -                             ((lambda (major minor) height width) real-height height)))
  +                             ((lambda (major minor) height width) real-height height) ))
                (incf x major)
  -             (incf x major-spacing)))))) )
  +             (incf x major-spacing))))))
  +
  + (defmethod box-layout-mixin/xically-allocate-space ((pane rack-layout-mixin) real-width real-height)
  +   (with-slots (major-spacing) pane
  +     (multiple-value-bind (majors minors)
  +         (box-layout-mixin/xically-allocate-space-aux* pane real-width real-height)
  +       (let ((x 0))
  +         (loop
  +             for child in (box-layout-mixin-clients pane)
  +             for major in majors
  +             for minor in minors
  +             do
  +             (when (box-client-pane child)
  +               #+NIL
  +               (format *trace-output* "~&;;   child ~S at 0, ~D ~D x ~D(~D)~%;;       ~S~%"
  +                       (box-client-pane child)
  +                       x width height real-height
  +                       (compose-space (box-client-pane child)))
  +               (layout-child (box-client-pane child)
  +                             :expand
  +                             :expand
  +                             ((lambda (major minor) height width) x 0)
  +                             ((lambda (major minor) width height) x 0)
  +                             ((lambda (major minor) height width) width real-width)
  +                             ((lambda (major minor) height width) real-height height) ))
  +             (incf x major)
  +             (incf x major-spacing)))))))
   
   ;; #+nil
   (defmethod note-sheet-enabled :before ((pane pane))
  
positive.code:      (values majors
               (mapcar (lambda (x) x minor) minors))))
  
    (defmethod box-layout-mixin/xically-allocate-space ((pane box-layout-mixin) real-width real-height)
     (with-slots (major-spacing) pane
       (multiple-value-bind (majors minors)
           (box-layout-mixin/xically-allocate-space-aux* pane real-width real-height)
         ;; now actually layout the children
         (let ((x 0))
           (loop
               for child in (box-layout-mixin-clients pane)
  
negative.code: 
  (defmethod compose-space ((pane scroller-pane) &key width height)
    (declare (ignore width height))
    (with-slots (viewport vscrollbar hscrollbar suggested-width suggested-height
                 x-spacing y-spacing scroll-bar)
        pane
      (if viewport
          (let ((req
                 ; v-- where does this requirement come from?
                 ;     a: just an arbitrary default
  		(make-space-requirement
                  :width suggested-width :height suggested-height :max-width +fill+ :max-height +fill+
                  :min-width  (max (* 2 x-spacing) (if (null scroll-bar) 0 30))
                  :min-height (max (* 2 y-spacing) (if (null scroll-bar) 0 30)))
  		#+nil
  		(make-space-requirement :height +fill+ :width +fill+)))
            (when vscrollbar
  