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

    magit-file-relative-name: Support indirect buffers
---
 lisp/magit-git.el | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/lisp/magit-git.el b/lisp/magit-git.el
index 244b1ec039b..baca51f662d 100644
--- a/lisp/magit-git.el
+++ b/lisp/magit-git.el
@@ -1048,17 +1048,18 @@ If the file is not inside a Git repository, then return 
nil.
 
 If TRACKED is non-nil, return the path only if it matches a
 tracked file."
-  (and-let* ((file (or file
-                       magit-buffer-file-name
-                       buffer-file-name
-                       (and (derived-mode-p 'dired-mode)
-                            default-directory)))
-             ((or (not tracked)
-                  (magit-file-tracked-p (file-relative-name file))))
-             (dir (magit-toplevel
-                   (magit--safe-default-directory
-                    (directory-file-name (file-name-directory file))))))
-    (file-relative-name file dir)))
+  (with-current-buffer (or (buffer-base-buffer) (current-buffer))
+    (and-let* ((file (or file
+                         magit-buffer-file-name
+                         buffer-file-name
+                         (and (derived-mode-p 'dired-mode)
+                              default-directory)))
+               ((or (not tracked)
+                    (magit-file-tracked-p (file-relative-name file))))
+               (dir (magit-toplevel
+                     (magit--safe-default-directory
+                      (directory-file-name (file-name-directory file))))))
+      (file-relative-name file dir))))
 
 (defun magit-file-ignored-p (file)
   (magit-git-string-p "ls-files" "--others" "--ignored" "--exclude-standard"

Reply via email to