anchor.diff:                                          :point-line line
                                           :point-offset 0
                                           :point-column-hint 0
  -                                        :window-top (list line 0 0))))
  +                                        :window-top-line nil
  +                                        :window-top 0
  +                                        :current-screen nil
  +                                        :current-point-logical-line nil)))
             (mezzanine.gui.widgets:draw-frame frame)
             (catch 'quit
               (editor-loop)))))))
  
positive.code:            (replace (data current-line) (data current-line)
                      :start1 (1+ (point-offset *editor*))
                      :start2 (point-offset *editor*))
             (setf (aref (data current-line) (point-offset *editor*)) ch))))
    (forward-char))
  
  (defun kill-line ()
  
negative.code:                      (t (setf (last-line *editor*) current-line)))
                 (setf (next current-line) (next next-line)))))
            (t ;; At start or middle of line. Trim line.
             (setf (fill-pointer (data current-line)) (point-offset *editor*))))
      (incf (version current-line)))
    (values))
  
  (defun delete-one-char-forward ()
    (let ((current-line (point-line *editor*)))
      (cond ((eql (point-offset *editor*) (line-length current-line))
             (kill-line))
            (t
             (replace (data current-line) (data current-line)
                      :start1 (point-offset *editor*)
                      :start2 (1+ (point-offset *editor*)))
             (decf (fill-pointer (data current-line)))
             (incf (version current-line))))))
  
  (defun delete-forward-char (&optional (n 1))
    "Delete the following N characters (previous if N is negative)."
  