anchor.diff:                                        (round (- cursor-x)))
                                0)))
             (when (> (+ cursor-y line-height) (+ y-position viewport-height))
  -            (next-line (top view))
  +            (full-redisplay pane)
               ;; We start all over!
               (display-drei-pane (pane-frame pane) pane)))))))
   
  
positive.code:   (setf (displayed-lines-count view) 0)
    (multiple-value-bind (cursor-x cursor-y) (stream-cursor-position pane)
      (with-output-recording-options (pane :record nil :draw t)
        (loop with start-offset = (offset (top view))
           with pump-state = (pump-state-for-offset view (offset (top view)))
           with pane-height = (bounding-rectangle-height pane)
           for line = (line-information view (displayed-lines-count view))
           do (multiple-value-bind (new-pump-state line-height)
                  (draw-line-strokes pane view pump-state start-offset cursor-x cursor-y)
  
negative.code: (defun display-drei-pane (frame drei-pane)
    "Display `pane'. If `pane' has focus, `current-p' should be
  non-NIL."
    (let ((view (view drei-pane)))
      (with-accessors ((buffer buffer)) view
        (when (typep view 'point-mark-view)
          (when (full-redisplay-p view)
            (fully-redisplay-pane drei-pane view)))
        (setf (stream-cursor-position drei-pane) (values 0 0))
        (display-drei-view-contents drei-pane view)
        (if (adjust-pane drei-pane)
            (display-drei-pane frame drei-pane)
            ;; Point must be on top of all other cursors.
            (progn
              (dolist (cursor (cursors drei-pane))
                (display-drei-view-cursor drei-pane view cursor))
              (fix-pane-viewport drei-pane (view drei-pane)))))))
  
  (defgeneric full-redisplay (pane)
    (:documentation "Queue a full redisplay for `pane'."))
  