anchor.diff:  		 :backing-store backing-store)))
   
   (defmethod frame-exit (FRAME)
  -  #FEATURE-CASE
  -  ((:CLIM-0.9
  -    (clim::stop-frame FRAME))
  -   (:CLIM-2
  -    (clim:frame-exit FRAME))
  -   (:CLIM-1.0
  -    ;; buggo makes the frame stay up! 
  -    (let ((top (clim::frame-top-level-window frame)))
  -      (when top
  -	(setf (clim::window-visibility top) nil)
  -	(clim::force-output top)))
  -    (clim::frame-exit FRAME))
  -   ))
  +  (clim:frame-exit FRAME))
   
   (defmacro for-each-frame ((symbol) &body body)
     "Iteratively bind SYMBOL to all enabled frames."
  -  #FEATURE-CASE
  -  (((not :clim)
  -    `(dolist (screen tv:all-the-screens)
  -       (dolist (,symbol (scl:send screen :inferiors))
  -	 (when (and (typep ,symbol 'dw:program-frame)
  -		    (scl:send ,symbol :inferiors))
  -	   ,@body))))
  -   (:clim-0.9
  -    `(when ws::*ports*
  -       ;; If there are no ports open, then there are no enabled frames.
  -       (dolist (child (graft-children (ws::frame-manager-sheet
  -				       (ws::find-frame-manager))))
  -	 (when (ci::sheet-enabled-p child)
  -	   (let ((,symbol (ws::sheet-frame child)))
  -	     (when (eq (ci::frame-state ,symbol) :enabled)
  -	       ,@body))))))
  -   (:clim-1.0
  -    `(dolist (root *sheet-roots*)
  -       (dolist (child (slot-value root 'clim::children))
  -	 (let ((,symbol (clim::window-stream-to-frame child)))
  -	   (when (and ,symbol (not (member ,symbol *deactivated-frames*))) ; kludge
  -	     ,@body)))))
  -   (:clim-2
  -    `(clim:map-over-ports
  -      #'(lambda (port)
  -	  (unless (eq (clim:port-type port) :postscript)
  -	    (dolist (,symbol (clim:frame-manager-frames
  -			      (clim:find-frame-manager :port port)))
  -	      (when (member (clim:frame-state ,symbol) '(:shrunk :enabled))
  -		,@body))))))))
  +  `(clim:map-over-ports
  +    #'(lambda (port)
  +        (unless (eq (clim:port-type port) :postscript)
  +          (dolist (,symbol (clim:frame-manager-frames
  +                            (clim:find-frame-manager :port port)))
  +            (when (member (clim:frame-state ,symbol) '(:shrunk :enabled))
  +              ,@body))))))
   
   (defun find-program-window (name &key
   				 (create-p nil)
   				 (wait-until-done nil)
   				 (width 500)
   				 (height 500))
  -  #FEATURE-CASE
  -  (((not :clim)
  -    (let ((screen (find-frame-manager)))
  -      (dw:find-program-window name :create-p create-p :console (scl:send screen :console))))
  -   (:clim
  -    (progn
  -      (for-each-frame (f)
  -		      (when (typep f name)
  -			(return-from find-program-window f)))
  -      (when create-p
  -	(launch-frame name
  -		      :title (string name)
  -		      :wait-until-done wait-until-done
  -		      :width width
  -		      :height height))))))
  -
  -
  +  (progn
  +    (for-each-frame (f)
  +      (when (typep f name)
  +        (return-from find-program-window f)))
  +    (when create-p
  +      (launch-frame name
  +                    :title (string name)
  +                    :wait-until-done wait-until-done
  +                    :width width
  +                    :height height))))
  +
  +
  
positive.code:       (values (- right left) (- bottom top)))) 
  
  (defmacro sheet-inside-size (stream)
    #FEATURE-CASE
    ((:CLIM
       `(stream-viewport-size ,stream))
     ((NOT :CLIM)
      `(values (send ,stream :inside-size))))
    )
  
  (defun stream-height (stream)
    "Height of the viewport."
  
negative.code: 	       (progn
  		 (clim:run-frame-top-level frame))
  	     (deactivate-frame frame)))))
  
  (defun make-application-frame (type &key parent title 
  					 (left 10) (top 10)
  					 (width 500) (height 500))
    (let ((frame (clim:make-application-frame
                  type
                  :pretty-name title
                  :left left :top top
                  :width width :height height
                  :frame-manager
                  parent)))
      frame))
  
  (defmethod size-frame (frame width height)
    (clim:layout-frame frame width height))
  
  (defmethod move-frame (frame left bottom)
    ;; CLH: FIXME! What are we supposed to do here?
    ;; uhh...
    nil)
  
  (defmethod get-frame-pane (frame pane-name)
    (clim:get-frame-pane frame pane-name))
  
  (defmethod frame-current-layout (frame)
    (clim:frame-current-layout frame))
  
  (defmethod set-frame-layout (frame new-layout)
    (unless (eq new-layout (frame-current-layout frame))
      (setf (clim:frame-current-layout frame) new-layout)))
  
  (defmethod window-set-viewport-position* (stream left top)
    (setf (clim:window-viewport-position stream) (values left top)))
  
  (defmethod window-history-limits (stream)
    ;;(declare (values left top right bottom))
    (let ((history (clim:stream-output-history stream)))
      (clim:bounding-rectangle* history)))
  
  (defmethod select-frame (frame)
    (note-frame-deiconified
     (clim:frame-manager frame) frame)
    (clim:raise-sheet (clim:frame-top-level-sheet frame))
    frame)
  
  (defun suggest-frame-size (frame-manager width height)
    (let ((graft (clim:graft (port frame-manager))))
      (when graft
        (setq width (min width (clim:graft-width graft :units :device))
              height (min height (clim:graft-height graft :units :device)))))
    (values width height))
  
  (defun launch-frame 
  