anchor.diff:  (defclass viewport-pane (single-child-composite-pane) ())
   
   (defmethod allocate-space ((pane viewport-pane) width height)
  -  (layout-child (first (sheet-children pane)) 
  -                :left :top
  -                0 0 width height))
  +  (with-slots (hscrollbar vscrollbar) (sheet-parent pane)
  +    (move-and-resize-sheet (first (sheet-children pane))
  +                           (if hscrollbar (- (gadget-value hscrollbar)) 0)
  +                           (if vscrollbar (- (gadget-value vscrollbar)) 0)
  +                           (max (space-requirement-width (compose-space (first (sheet-children pane))))
  +                                width)
  +                           (max (space-requirement-height (compose-space (first (sheet-children pane))))
  +                                height)) ))
   
   ;;;;
   ;;;; SCROLLER-PANE
  
positive.code: (defmethod text-style-width (ts (sheet sheet))
    (text-style-width ts (sheet-medium sheet)))
  
  
  
negative.code: 
  (defun make-clim-stream-pane (&rest options
  				    &key (type 'clim-stream-pane)
                                      (scroll-bars :vertical)
                                      (border-width 1)
  				    &allow-other-keys)
    (declare (ignorable scroll-bars))
    (loop for key in '(:type :scroll-bars :border-width)
  	do (remf options key))
    ;; The user space requirement options belong to the scroller ..
    (let ((user-sr
           (loop for key in '(:width :height :max-width :max-height :min-width :min-height)
                 nconc (let ((value (getf options key nil)))
                         (remf options key)
                         (and value
                              (list key value))))))
      (format *trace-output* "User-SR = ~S.~%" user-sr)
      (let ((pane (apply #'make-pane type (append options
                                                  (unless (or scroll-bars
                                                              (and border-width (> border-width 0))))))))
        (when scroll-bars
          (setq pane (apply #'make-pane 'scroller-pane
                            :scroll-bar scroll-bars
                            :contents (list (make-pane 'viewport-pane
                                                       :contents (list pane)))
                            (unless (and border-width (> border-width 0))
                              user-sr))))
        (when (and border-width (> border-width 0))
          (setq pane (make-pane 'border-pane
                                :border-width border-width
                                :contents (list pane)
                                ))
          ;; bright, I begin to hate the border-pane
          (setf pane (apply #'make-pane 'vrack-pane
                            :contents (list pane)
                            user-sr)))
  
        pane)))
  
  (defun make-clim-interactor-pane (&rest options)
    (apply #'make-clim-stream-pane :type 'interactor-pane options))
  