diff --git a/modules/emacs/vc/config.el b/modules/emacs/vc/config.el index 2994c2347..fae0c4393 100644 --- a/modules/emacs/vc/config.el +++ b/modules/emacs/vc/config.el @@ -89,8 +89,10 @@ file in your browser at the visited revision." :around #'browse-at-remote-get-url (if git-timemachine-mode - (let* ((start-line (line-number-at-pos (min (region-beginning) (region-end)))) - (end-line (line-number-at-pos (max (region-beginning) (region-end)))) + (let* ((start-line (and (use-region-p) (line-number-at-pos + (min (region-beginning) (region-end))))) + (point-end (and (use-region-p) (max (region-beginning) (region-end)))) + (end-line (and (use-region-p) (line-number-at-pos point-end))) (remote-ref (browse-at-remote--remote-ref buffer-file-name)) (remote (car remote-ref)) (ref (car git-timemachine-revision)) @@ -105,7 +107,8 @@ file in your browser at the visited revision." (error (format "Origin repo parsing failed: %s" repo-url))) (funcall url-formatter repo-url ref relname (if start-line start-line) - (if (and end-line (not (equal start-line end-line))) end-line))) + (when (and end-line (not (equal start-line end-line))) + (if (eq (char-before point-end) ?\n) (- end-line 1) end-line)))) (funcall fn))) (defadvice! +vc-update-header-line-a (revision)