diff options
| author | Jonas Bernoulli <jonas@bernoul.li> | 2026-02-03 08:55:27 +0100 |
|---|---|---|
| committer | Jonas Bernoulli <jonas@bernoul.li> | 2026-02-03 08:55:27 +0100 |
| commit | cd49010cb303f63b5fb4e00baa64c40eebd05736 (patch) | |
| tree | 5e569c159512856ebf9b6a7153c90e87ee09fa3d | |
| parent | c238736b32b2970f25149a00c09ac7abb8c5e31c (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.el | 13 |
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 |
