 When called with a prefix argument, allow the user to edit the revision."
   (interactive "P")
   (let ((rev))
-    (dolist (ov (overlays-in (line-beginning-position) (line-end-position)))
+    (dolist (ov (overlays-in (svn-point-at-bol) (line-end-position)))
       (when (overlay-get ov 'svn-blame-line-info)
         (setq rev (car (overlay-get ov 'rev-info)))))
     (svn-status-diff-show-changeset rev arg)))

  (if (svn-status-get-line-information)
      (svn-status-copy-filename-as-kill arg)
    (save-excursion
      (goto-char (line-beginning-position))
      (when (looking-at ".+?: *\\(.+\\)$")
        (kill-new (svn-match-string-no-properties 1))
        (message "Copied: %s" (svn-match-string-no-properties 1))))))

      (goto-char (point-min))
      (while (not (eobp))
        (setq consider-this-line nil)
        (dolist (ov (overlays-in (svn-point-at-bol) (line-end-position)))
          (when (overlay-get ov 'svn-blame-line-info)
            (when (string= reference-value (funcall compare-func ov))
              (setq consider-this-line t))))
        (when consider-this-line
          (dolist (ov (overlays-in (svn-point-at-bol) (line-end-position)))
            (when (and (overlay-get ov 'svn-blame-highlighted) is-highlighted)
              (delete-overlay ov))
            (unless is-highlighted
              (setq hl-ov (make-overlay (svn-point-at-bol) (line-end-position)))
              (overlay-put hl-ov 'svn-blame-highlighted t)
              (overlay-put hl-ov 'face 'svn-status-blame-highlight-face))))
        (forward-line)))))
