anchor.diff:  
   (defmethod medium-beep ((medium basic-medium))
     nil)
  +
  +;;;;;;;;;
  +
  +(defmethod engraft-medium ((medium basic-medium) port sheet)
  +  (setf (%medium-sheet medium) sheet
  +        (medium-foreground medium) (medium-foreground sheet)
  +        (medium-background medium) (medium-background sheet)
  +        (medium-ink medium) (medium-ink sheet)
  +        (medium-transformation medium) (medium-transformation sheet)
  +        (medium-clipping-region medium) (medium-clipping-region sheet)
  +        (medium-line-style medium) (medium-line-style sheet)
  +        (medium-text-stle medium) (medium-text-stle sheet)))
  +
  +(defmethod degraft-medium ((medium basic-medium) port sheet)
  +  (setf (%medium-sheet medium) nil))
  +
  +(defmethod allocate-medium ((port port) sheet)
  +  (make-medium port sheet))
  +
  +(defmethod deallocate-medium ((port port) medium)
  +  (declare (ignorable port medium))
  +  nil)
  +
  +(defmethod port ((medium basic-medium))
  +  (and (medium-sheet medium)
  +       (port (medium-sheet medium))))
  +
  +(defmethod graft ((medium basic-medium))
  +  (and (medium-sheet medium)
  +       (graft (medium-sheet medium))))
  
positive.code: 
  ;;; MEDIUM class
  
  (defclass medium ()
    ((port :initarg :port
  	 :accessor port)
     (graft :initarg :graft
  	  :accessor graft)
     (foreground :initarg :foreground
  	       :initform +black+
  	       :accessor medium-foreground)
     (background :initarg :background
  	       :initform +white+
  	       :accessor medium-background)
     (ink :initarg :ink
  	:initform +foreground-ink+
  	:accessor medium-ink)
     (transformation :type transformation
  		   :initarg :transformation
  		   :initform +identity-transformation+ 
  		   :accessor medium-transformation)
     (clipping-region :type region
  		    :initarg :clipping-region
  		    :initform +everywhere+
  		    :documentation "Clipping region in the SHEET coordinates.")
     ;; always use this slot through its accessor, since there may
     ;; be secondary methods on it -RS 2001-08-23
     (line-style :initarg :line-style
  	       :initform (make-line-style)
  	       :accessor medium-line-style)
     ;; always use this slot through its accessor, since there may
     ;; be secondary methods on it -RS 2001-08-23
     (text-style :initarg :text-style
  	       :initform (make-text-style :fix :roman :normal)
  	       :accessor medium-text-style)
     (default-text-style :initarg :default-text-style
                         :initform (make-text-style :fix :roman :normal)
  		       :accessor medium-default-text-style)
     (sheet :initarg :sheet
  	  :initform nil ; this means that medium is not linked to a sheet
  	  :accessor medium-sheet)
     ))
  
  (defun mediump (x)
    (typep x 'medium))
  
  (defmethod initialize-instance :after ((medium medium) &rest args)
    (declare (ignore args))
  
negative.code:     :line-cap-shape cap-shape
      :line-dashes dashes))
  
  (defmethod print-object ((self standard-line-style) stream)
    (print-unreadable-object (self stream :type t :identity nil)
      (format stream "~{~S ~S~^ ~}"
              (mapcan (lambda (slot)
                        (when (slot-boundp self slot)
                          (list
                           (intern (symbol-name slot) :keyword)
                           (slot-value self slot))))
                      '(unit thickness joint-shape cap-shape dashes)))))
  
  
  