anchor.diff:                                       (delete-between-points start end))))
                (unless (continue-flag :kill)
                  (kill-ring-new))
  -             (kill-push (get-output-stream-string out)))
  +             (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))))
  
positive.code:         (progn
            (character-offset (current-point) 1)
            (yank)
            (character-offset (current-point) -1))
          (progn
            (insert-character (line-end (current-point)) #\newline)
            (yank)))))
  
  (define-command vi-paste-before () ()
    (line-start (current-point))
  
negative.code:                          (rotatef start end)
                           (character-offset end 1))
                         (when (point/= start end)
                           (kill-region start end)
                           (kill-append "" nil '(:vi-nolf)))))))))))))
  
  (define-command vi-delete-line () ()
    (cond ((visual-block-p)
  