aboutsummaryrefslogtreecommitdiff
path: root/lisp/magit-git.el
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2025-01-07 07:41:42 +0100
committerJonas Bernoulli <jonas@bernoul.li>2025-01-07 07:41:42 +0100
commit41ea0ff32d0f454f07811cbdb9af62b5cbbf68b0 (patch)
tree677ff7d1a2a3d04cc798184249a3be9ba00827ef /lisp/magit-git.el
parent4d0a38ca87801e4fed673d904d536d1fb3f5b925 (diff)
magit-file-relative-name: Cosmetics
Diffstat (limited to 'lisp/magit-git.el')
-rw-r--r--lisp/magit-git.el24
1 files changed, 13 insertions, 11 deletions
diff --git a/lisp/magit-git.el b/lisp/magit-git.el
index 7b7cf6d..f60c5d5 100644
--- a/lisp/magit-git.el
+++ b/lisp/magit-git.el
@@ -1022,17 +1022,19 @@ 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."
- (unless file
- (with-current-buffer (or (buffer-base-buffer)
- (current-buffer))
- (setq file (or magit-buffer-file-name buffer-file-name
- (and (derived-mode-p 'dired-mode) default-directory)))))
- (when (and file (or (not tracked)
- (magit-file-tracked-p (file-relative-name file))))
- (and-let* ((dir (magit-toplevel
- (magit--safe-default-directory
- (directory-file-name (file-name-directory file))))))
- (file-relative-name file dir))))
+ (and-let* ((file (with-current-buffer (or (buffer-base-buffer)
+ (current-buffer))
+ (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"