diff options
Diffstat (limited to 'modules/init-git.el')
-rw-r--r-- | modules/init-git.el | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/modules/init-git.el b/modules/init-git.el index 7e96247..35a37ff 100644 --- a/modules/init-git.el +++ b/modules/init-git.el @@ -48,17 +48,22 @@ (defun my-goto-git-gutter () (interactive) - (if git-gutter-fr:diffinfos - (ivy-read "git-gutters-fr:" - (mapcar 'my-reshape-git-gutter git-gutter-fr:diffinfos) - :action (lambda (e) - ;; ivy9+ keep `(car e)' - ;; ivy8- strip the `(car e)' - ;; we handle both data structure - (unless (numberp e) (setq e (cdr e))) - (with-no-warnings - (goto-line e)))) - (message "NO git-gutters-fringe!"))))) + (eval-when-compile (require 'git-gutter-fringe nil t)) + (when (and (require 'git-gutter-fringe nil t) + (fboundp 'ivy-read)) + + (if git-gutter-fr:diffinfos + (ivy-read "git-gutters-fr:" + (mapcar 'my-reshape-git-gutter git-gutter-fr:diffinfos) + :action (lambda (e) + ;; ivy9+ keep `(car e)' + ;; ivy8- strip the `(car e)' + ;; we handle both data structure + (unless (numberp e) (setq e (cdr e))) + (with-no-warnings + (goto-line e)))) + (message "NO git-gutters-fringe!")) + )))) (use-package gitconfig-mode :ensure t @@ -93,7 +98,11 @@ (goto-char (point-min)) (when (re-search-forward "^<<<<<<< " nil t) (smerge-mode +1))))) - (add-hook 'buffer-list-update-hook #'enable-smerge-maybe)) + + (eval-when-compile (require 'smerge-mode nil t)) + (when (and (require 'smerge-mode nil t) + (fboundp 'enable-smerge-maybe)) + (add-hook 'buffer-list-update-hook #'enable-smerge-maybe))) (provide 'init-git) |