anchor.diff:      n))
   
   (defun cursor-goto-next-line-p (window)
  -  "The cursor goes to next line if it is on the end of wrapping.
  -This function detects this phenomenon and returns true if it occurs."
  +  "Check if the cursor goes to next line because it is at the end of width."
     (unless (variable-value 'truncate-lines :default (window-buffer window))
       (return-from cursor-goto-next-line-p nil))
     (let* ((lem-base::*tab-size* (variable-value 'tab-width :default (window-buffer window)))
  
positive.code:                       1)))
      (loop :for i :from 0 :below charpos
            :for c := (schar line i)
            :do (setq cur-x (char-width c cur-x))
                (when (< width cur-x)
                  (setf cur-x (char-width c 0))))
      (< width (+ cur-x add-x))))
  
negative.code: (defun move-to-next-virtual-line (point &optional n (window (current-window)))
    (unless n (setf n 1))
    (unless (zerop n)
  
      ;; workaround for cursor movement problem
      (when (cursor-end-line-and-width-p window)
        (setf *next-line-prev-column* 0))
  
      (multiple-value-bind (n f)
          (if (plusp n)
              (values n #'move-to-next-virtual-line-1)
  