anchor.diff:            (insert-string cur-point output-string)
             (buffer-start cur-point)
             (line-offset cur-point 3)
  -          (setf *start-line-number* (point-linum cur-point))
  +          (setf (start-point buffer) (copy-point cur-point :temporary))
             (loop
   	     (let ((string (line-string-at cur-point)))
   	       (multiple-value-bind (start end start-groups end-groups)
  
positive.code: (define-command dired-previous-line (n) ("p")
    (let ((point (current-point)))
      (line-offset point (- n))
      (when (<= (point-linum point) *start-line-number*)
        (move-to-start-point point))
      (line-start point)))
  
  
negative.code: 
  (defun mark-current-line (flag)
    (let ((point (current-point)))
      (when (dired-range-p point)
        (line-start point)
        (with-buffer-read-only (point-buffer point) nil
          (save-excursion
  