anchor.diff:  
   (defmethod port-ungrab-pointer ((port graphic-forms-port) pointer sheet)
     ())
  -
  -(defmethod distribute-event :around ((port graphic-forms-port) event)
  -  ; (gfs::debug-format "distribute-event -> port: ~a event: ~a~%" port event)
  -  (call-next-method))
   
   (defmethod set-sheet-pointer-cursor ((port graphic-forms-port) sheet cursor)
     ())        
  
positive.code:     :initform (make-instance 'gfw-pointer))))
  
  (defun enqueue (port event)
    (push event (events port)))
  
  (defvar *sheet-dispatcher* (make-instance 'sheet-event-dispatcher))
  
negative.code:   (declare (ignore wait-function timeout)) ; FIXME
    (or (pop (events port))
        (cffi:with-foreign-object (msg-ptr 'gfs::msg)
          (let ((gm (gfs::get-message msg-ptr (cffi:null-pointer) 0 0)))
            (gfw::default-message-filter gm msg-ptr))
          (pop (events port)))))
  
  (defmethod process-next-event :after ((port graphic-forms-port) &key wait-function (timeout nil))
    (declare (ignore wait-function timeout))
  