branch: elpa/magit
commit cd49010cb303f63b5fb4e00baa64c40eebd05736
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>

    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.
---
 lisp/magit-files.el | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/lisp/magit-files.el b/lisp/magit-files.el
index c9c164d3af0..b5c0f9ef1b9 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

Reply via email to