anchor.diff:                              (setq redraw-flag t))))
                      (setf y y2))))
                 (t
  +               ;; バッファの末尾まできたときの処理
                  (fill (screen-old-lines screen) nil :start i)
                  (charms/ll:wmove (screen-%scrwin screen) y 0)
                  (charms/ll:wclrtobot (screen-%scrwin screen))
  
positive.code:     (when (<= 0 i (1- (screen-height screen)))
        (unless end-charpos
          (setq end-charpos (fat-length (aref (screen-lines screen) i))))
        (when (aref (screen-lines screen) i)
          (setf (aref (screen-lines screen) i)
                (copy-fatstring (aref (screen-lines screen) i))))
        (let ((fatstr (aref (screen-lines screen) i)))
          (change-font fatstr
                       (%attribute-to-bits attr)
  
negative.code:                     (fat-equalp str #1#)                  ; 表示しようとしている文字列が以前に表示する行と内容が同じで
                      (/= (- pos-y start-linum) i)          ; その行がカーソルの位置ではないなら真
                      )
                 (when (buffer-truncate-lines buffer)
                   ;; 折り返した回数分、論理行の位置を下にずらす
                   (let ((n (count i wrap-lines)))
                     (when (and (< 0 n) (<= y cury))
                       (incf cury n))
                     (incf y n)
                     (dotimes (_ n)
                       (push i (screen-wrap-lines screen))))))
                (str
                 (setf (aref (screen-old-lines screen) i) str)
                 (when (zerop (fat-length str))
                   ;; 表示する文字列が無い場合は行を表示する関数まで辿りつかないのでここでしておく
                   (charms/ll:wmove (screen-%scrwin screen) y 0)
                   (charms/ll:wclrtoeol (screen-%scrwin screen)))
                 (let (y2)
                   (multiple-value-setq (curx cury y2)
                                        (funcall disp-line-fun
                                                 screen start-charpos curx cury pos-x y str))
                   (when (buffer-truncate-lines buffer)
                     (let ((offset (- y2 y))) ; offsetはその行の折り返し回数を表す
                       ;; 折り返しがあったらそれより下は表示をやりなおす必要があるのでredraw-flagをtにする
                       (cond ((< 0 offset)
                              (setq redraw-flag t)
                              (dotimes (_ offset)
  