tools/magit: only expand git path
On closer inspection it isn't necessary to expand the gitk and perl executable paths, since a) gitk is a GUI application that doesn't get called often enough (only once at a time) to warrant being optimized, and b) magit uses it to set an envvar for git (so git itself handles locating the executable internally -- much faster than Emacs can (esp over TRAMP), so it only benefits us to expand magit-git-executable.
This commit is contained in:
parent
10edc92bce
commit
4ad9b764e1
1 changed files with 6 additions and 8 deletions
|
@ -104,16 +104,14 @@ For example, diffs and log buffers. Accepts `left', `right', `up', and `down'.")
|
|||
(define-key transient-map [escape] #'transient-quit-one)
|
||||
|
||||
;; An optimization that particularly affects macOS and Windows users: by
|
||||
;; resolving `magit-git-executable' (and others) Emacs does less work to find
|
||||
;; the executable in your PATH, which is great because it is called so
|
||||
;; frequently. However, absolute paths will break magit in TRAMP/remote
|
||||
;; projects if the git executable isn't in the exact same location.
|
||||
;; resolving `magit-git-executable' Emacs does less work to find the
|
||||
;; executable in your PATH, which is great because it is called so frequently.
|
||||
;; However, absolute paths will break magit in TRAMP/remote projects if the
|
||||
;; git executable isn't in the exact same location.
|
||||
(add-hook! 'magit-status-mode-hook
|
||||
(defun +magit-optimize-process-calls-h ()
|
||||
(dolist (sym '(magit-git-executable magit-perl-executable magit-gitk-executable))
|
||||
(when-let* ((exe (symbol-value sym))
|
||||
(path (executable-find exe)))
|
||||
(set (make-local-variable sym) path))))))
|
||||
(when-let (path (executable-find magit-git-executable))
|
||||
(setq-local magit-git-executable path)))))
|
||||
|
||||
|
||||
(use-package! forge
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue