anchor.diff:                                 (1- (window-nlines window)))
              (cdr lines))
            (y 0 (1+ y)))
  -        ((null lines))
  -      (let ((curx (window-redraw-line window (car lines) y)))
  -        (when curx
  -          (setq x curx))))
  +        ((<= (1- (window-nlines window)) y))
  +      (if (null lines)
  +        (window-redraw-line-1 window "" y)
  +        (let ((curx (window-redraw-line window (car lines) y)))
  +          (when curx
  +            (setq x curx)))))
       (cl-ncurses:wmove (window-win window)
                         (- (window-cur-linum window) (window-vtop-linum window))
                         x)))
   
   (defun window-redraw (window)
  -  (cl-ncurses:werase (window-win window))
  +  ;(cl-ncurses:werase (window-win window))
     (window-redraw-modeline window)
     (window-redraw-lines window)
  -  (cl-ncurses:wnoutrefresh (window-win window)))
  +  ;(cl-ncurses:wnoutrefresh (window-win window))
  +  )
   
   (defun window-offset-view (window)
     (let ((vtop-linum (window-vtop-linum window))
  
positive.code:   (- (window-cur-linum window)
       (window-vtop-linum window)))
  
  (defun window-redraw-line (window str y)
    (let ((width (str-width str))
          (cury (window-cursor-y window))
          (cols (window-ncols window))
          (curx))
      (when (= cury y)
        (setq curx (str-width str (window-cur-col window))))
      (cond
        ((< width (window-ncols window))
          nil)
        ((or (/= cury y)
             (< curx (1- cols)))
  	(let ((i (wide-index str cols)))
            (setq str
                  (if (<= cols (str-width str i))
                    (format nil "~a $" (subseq str 0 (1- i)))
                    (format nil "~a$" (subseq str 0 i))))))
        ((< (window-cur-col window) (length str))
          (let* ((begin (wide-index str (- curx cols -4)))
  	       (end (1+ (window-cur-col window)))
  	       (substr (subseq str begin end)))
            (setq curx (- cols 2))
            (if (wide-char-p (aref substr (- (length substr) 1)))
              (progn
                (setq str
                      (format nil "$~a $"
                              (subseq substr 0 (1- (length substr)))))
                (decf curx))
              (setq str (format nil "$~a$" substr)))))
        (t
          (setq str
                (format nil
                        "$~a"
                        (substring-width str (- curx cols -3))))
          (setq curx (- cols 1))))
      (cl-ncurses:mvwaddstr (window-win window) y 0 str)
      curx))
  
  (defun window-redraw-lines (window)
  
negative.code: (defun window-set-size (window nlines ncols)
    (cl-ncurses:wresize (window-win window) nlines ncols)
    (setf (window-nlines window) nlines)
    (setf (window-ncols window) ncols)
    (setf (window-display-lines window)
          (make-array nlines :initial-element "")))
  
  (defun window-move (window dy dx)
    (window-set-pos window
  