anchor.diff:            (register-callbacks obj)))))
   
   (defmethod tess-delete ((tess tessellator))
  -  (glu-delete-tess (glu-tessellator tess))
     (remhash (id tess) *tessellators*)
  -  (free-tess-data tess))
  +  (free-tess-data tess)
  +  (glu-delete-tess (glu-tessellator tess)))
   
   (defmethod tess-begin-polygon ((tess tessellator) &optional (polygon-data nil))
     (let* ((polygon-data-id 
  
positive.code:   (glu-tess-end-contour (glu-tessellator tess)))
  
  (defmethod tess-end-polygon ((tess tessellator))
    (glu-tess-end-polygon (glu-tessellator tess))
    (free-tess-data tess))
  
  (defmethod tess-property ((tess tessellator) which value)
    (glu-tess-property (glu-tessellator tess) which value))
  
negative.code:      ,@(loop for (name callback-type args) in callback-specs
            collect `(init-tessellation-callback ,name ,callback-type ,args))))
  
  (defmacro with-tess-polygon ((tess-obj &optional (polygon-data nil)) &body body)
    `(progn (tess-begin-polygon ,tess-obj ,polygon-data)
            (unwind-protect (progn ,@body)
              (tess-end-polygon ,tess-obj))))
  