anchor.diff:      (setf (pane-space-requirement bp) space)
       space))
   
  -;;; FIXME: I don't see how this one could possibly work
   (defmethod allocate-space ((bp border-pane) width height)
  -  (let ((h-percent (/ width (space-requirement-width (pane-space-requirement bp))))
  -	(v-percent (/ height (space-requirement-height (pane-space-requirement bp))))
  -	(y 0))
  -    (loop for child = (first (sheet-children bp))
  -	for request = (pane-space-requirement child)
  -	for new-width = (floor (* h-percent (space-requirement-width request)))
  -	for new-height = (floor (* v-percent (space-requirement-height request)))
  -	do (progn (setf (sheet-region child)
  -			(make-bounding-rectangle 0 y width (+ y new-height)))
  -		  (allocate-space child new-width new-height)
  -		  (incf y new-height)))))
  +  (set-width-and-height bp width height)
  +  (let ((border-width (border-pane-width bp))
  +	(child (first (sheet-children bp))))
  +    (setf (sheet-region child)
  +      (make-bounding-rectangle border-width border-width
  +			       (- width border-width) (- height border-width)))
  +    (allocate-space child (- width (* 2 border-width)) (- height (* 2 border-width)))))
   
   
   ;; RESTRAINING PANE
  
positive.code: (defmacro scrolling ((&rest options) &body contents)
    `(let ((viewport (make-pane 'viewport-pane :contents (list ,@contents))))
       (make-pane 'scroller-pane ,@options :contents (list viewport))))
  
  (defmethod pane-viewport ((scroller scroller-pane))
    (first (sheet-children scroller)))
  
negative.code: 
  ;;; BORDER-PANE class
  
  (defclass border-pane (single-child-composite-pane)
    ((border-width :initarg :border-width
  		 :initform 1
  		 :reader border-pane-width))
  