aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2026-02-03 08:55:27 +0100
committerJonas Bernoulli <jonas@bernoul.li>2026-02-03 08:55:27 +0100
commitcd49010cb303f63b5fb4e00baa64c40eebd05736 (patch)
tree5e569c159512856ebf9b6a7153c90e87ee09fa3d
parentc238736b32b2970f25149a00c09ac7abb8c5e31c (diff)
Set magit-buffer-revision-oid in blob buffers
Take advantage of that to potentially avoid some unnecessary work when restoring point in such a buffer.
-rw-r--r--lisp/magit-files.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/magit-files.el b/lisp/magit-files.el
index c9c164d..b5c0f9e 100644
--- a/lisp/magit-files.el
+++ b/lisp/magit-files.el
@@ -133,6 +133,8 @@ REV is a revision or one of \"{worktree}\" or \"{index}\"."
(magit--refresh-blob-buffer))
(defun magit--refresh-blob-buffer ()
+ (setq magit-buffer-revision-oid
+ (magit-commit-oid magit-buffer-revision))
(let ((inhibit-read-only t))
(erase-buffer)
(save-excursion
@@ -158,20 +160,21 @@ REV is a revision or one of \"{worktree}\" or \"{index}\"."
(run-hooks 'magit-find-blob-hook)))
(defun magit-find-file--restore-position (buf rev file)
- (let (line col)
+ (let ((rev-oid magit-buffer-revision-oid)
+ line col)
(when-let ((visited-file (magit-file-relative-name)))
(setq line (line-number-at-pos))
(setq col (current-column))
(cond
((not (equal visited-file file)))
- ((equal magit-buffer-revision rev))
+ ((magit-rev-eq rev-oid rev))
((equal rev "{worktree}")
- (setq line (magit-diff-visit--offset file magit-buffer-revision line)))
+ (setq line (magit-diff-visit--offset file rev-oid line)))
((equal rev "{index}")
(setq line (magit-diff-visit--offset file nil line)))
- (magit-buffer-revision
+ (rev-oid
(setq line (magit-diff-visit--offset
- file (concat magit-buffer-revision ".." rev) line)))
+ file (concat rev-oid ".." rev) line)))
((setq line (magit-diff-visit--offset file (list "-R" rev) line)))))
(when line
(with-current-buffer buf