anchor.diff:           (loop
               ;; Catch up with window manager events.
               (pump-event-loop stream)
  +            (setf (mezzano.gui.widgets:cursor-visible stream) t)
               (when (window-closed stream)
                 (return :eof))
               ;; Check for an available character.
  
positive.code:                                    :framebuffer framebuffer
                                     :title (string (or title initial-function "REPL"))
                                     :close-button-p t
                                     :damage-function (mezzano.gui.widgets:default-damage-function window)))
               (term (make-instance 'fancy-repl
                                    :fifo fifo
                                    :window window
  
negative.code:   ;; Eat unknown events.
    (:method (w e)))
  
  (defmethod dispatch-event (window (event mezzano.gui.compositor:resize-event))
    (let ((old-width (mezzano.gui.compositor:width (window window)))
          (old-height (mezzano.gui.compositor:height (window window)))
          (new-width (mezzano.gui.compositor:width event))
          (new-height (mezzano.gui.compositor:height event)))
      #+(or)
      (when (and (eql old-width new-width)
                 (eql old-height new-height))
        (return-from dispatch-event))
      (format t "Resize from ~S,~S to ~S,~S~%"
              old-width old-height
              new-width new-height)))
  
  (defmethod dispatch-event (window (event mezzano.gui.compositor:window-activation-event))
    (setf (mezzano.gui.widgets:activep (frame window)) (mezzano.gui.compositor:state event))
    (mezzano.gui.widgets:draw-frame (frame window)))
  