anchor.diff:    (horizontal-scroll-start 0))
   
   (defun make-screen (x y width height use-modeline-p)
  -  (flet ((newwin (nlines ncols begin-y begin-x)
  -           (let ((win (charms/ll:newwin nlines ncols begin-y begin-x)))
  -             (charms/ll:keypad win 1)
  -             win)))
  -    (when use-modeline-p
  -      (decf height))
  -    (%make-screen :%scrwin (newwin height width y x)
  -                  :%modeline-scrwin (when use-modeline-p
  -                                      (newwin 1 width (+ y height) x))
  +  (when use-modeline-p
  +    (decf height))
  +  (let ((view (interface-make-view *implementation* x y width height use-modeline-p)))
  +    (%make-screen :view view
  +                  :use-modeline-p use-modeline-p
                     :x x
                     :y y
                     :width width
  
positive.code:             (declare (ignore c))
              (send-abort-event editor-thread t)))))
  
  #|
  (display-width)                   server -> client response
  (display-height)                  server -> client response
  (make-view)                       server -> client notify
  (delete-view view)                server -> client notify
  (clear view)                      server -> client notify
  (set-view-size view width height) server -> client notify
  (set-view-pos view x y)           server -> client notify
  (print view x y string attribute) server -> client notify
  (send-input)                      client -> server notify
  (resize-display)                  client -> server notify
  |#
  
negative.code:           display-width
            display-height))
  
  (defgeneric interface-display-width (implementation))
  (defgeneric interface-display-height (implementation))
  (defgeneric interface-make-view (implementation x y width height use-modeline-p))
  (defgeneric interface-delete-view (implementation view))
  (defgeneric interface-clear (implementation view))
  (defgeneric interface-set-view-size (implementation view width height))
  (defgeneric interface-set-view-pos (implementation view x y))
  (defgeneric interface-print (implementation view x y string attribute))
  (defgeneric interface-print-modeline (implementation view x y string attribute))
  (defgeneric interface-clear-eol (implementation view x y))
  (defgeneric interface-clear-eob (implementation view x y))
  (defgeneric interface-move-cursor (implementation view x y))
  (defgeneric interface-redraw-view-after (implementation view focus-window-p))
  (defgeneric interface-update-display (implementation))
  
  (defvar *implementation* :ncurses)
  
  (defvar *print-start-x* 0)
  (defvar *cursor-x* 0)
  (defvar *cursor-y* 0)
  
  (defvar *display-background-mode* nil)
  
  (defun display-background-mode ()
  