anchor.diff:               (line-offset end n)
                (line-start end)
                (copy-region start end)
  +             (kill-append "" nil '(:vi-line))
                (throw tag t)))
             ((visual-p)
              (with-output-to-string (out)
  
positive.code:              (unless (continue-flag :kill)
                 (kill-ring-new))
               (kill-push (get-output-stream-string out))
               (unless (visual-line-p)
                 (kill-append "" nil '(:vi-nolf))))
             (vi-visual-end))
            (t
             (let ((command (lookup-keybind (read-key))))
  
negative.code:                        (when (point/= start end)
                           (cond
                             ((same-line-p start end)
                              (kill-region start end))
                             (t
                              (unless (or (eq command 'vi-forward-word-end)
                                          (eq command 'vi-forward-word-begin))
                                (line-start start)
                                (line-end end))
                              (character-offset end 1)
                              (kill-region start end)
                              (kill-append "" nil '(:vi-line))))))))
                   (unless *vi-clear-recursive*
                     (fall-within-line (current-point))))))))))
  
  