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"