anchor.diff:    old-lines
     wrap-lines
     width
  -  modified-p)
  +  modified-p
  +  (horizontal-scroll-start 0))
   
   (define-implementation make-screen (x y width height use-modeline-p)
     (when use-modeline-p
  
positive.code:     (progn
        #+(or)without-interrupts
        (disp-reset-lines window)
        (screen-display-lines (lem::window-screen window)
                              (or force
                                  (screen-modified-p (lem::window-screen window)))
  
negative.code: (defun screen-display-line (screen screen-width view-charpos
                                     cursor-y cursor-x
                                     point-y str/attributes)
    (declare (ignore view-charpos cursor-x))
    (let ((start-x (screen-left-width screen))
          start
          end)
      (cond ((= cursor-y point-y)
             (setf start (or (wide-index (car str/attributes)
                                         (screen-horizontal-scroll-start screen))
                             0))
             (setf end (wide-index (car str/attributes)
                                   (+ (screen-horizontal-scroll-start screen)
                                      screen-width))))
            (t
             (setf start 0)
             (setf end (wide-index (car str/attributes) screen-width))))
      (charms/ll:wmove (screen-%scrwin screen) point-y start-x)
      (charms/ll:wclrtoeol (screen-%scrwin screen))
      (disp-print-line screen point-y str/attributes nil
                       :start-x start-x
                       :string-start start
                       :string-end end))
    point-y)
  
  (defun adjust-horizontal-scroll (window)
    (let ((screen (lem::window-screen window))
          (buffer (window-buffer window)))
      (unless (variable-value 'truncate-lines :default buffer)
        (let ((point-column (point-column (buffer-point buffer)))
              (width (- (screen-width screen) (screen-left-width screen))))
          (cond ((<= (+ (screen-horizontal-scroll-start screen) width)
                     (1+ point-column))
                 (setf (screen-horizontal-scroll-start screen)
                       (- (1+ point-column) width)))
                ((< point-column (screen-horizontal-scroll-start screen))
                 (setf (screen-horizontal-scroll-start screen) point-column)))))))
  
  (defun screen-display-lines (screen redraw-flag buffer view-point cursor-point focus-window-p)
    (let* ((truncate-lines (variable-value 'truncate-lines :default buffer))
  