From d149c59d2e6c55ee3d681bf82d7b7c2d3cd8f1e1 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 11 Dec 2020 17:36:12 -0500 Subject: [PATCH] Add emacs mode checks to insert mode checks This is to accommodate users who default to emacs mode, rather than insert mode. The two are also very alike, so many of these checks should apply to both (almost) equally. --- modules/checkers/spell/config.el | 5 ++++- modules/editor/evil/autoload/advice.el | 6 ++++-- modules/emacs/vc/config.el | 1 + modules/lang/org/autoload/org.el | 6 ++++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/checkers/spell/config.el b/modules/checkers/spell/config.el index b28bc4b05..b2eb5935a 100644 --- a/modules/checkers/spell/config.el +++ b/modules/checkers/spell/config.el @@ -199,7 +199,10 @@ e.g. proselint and langtool." (add-hook 'flyspell-mode-hook #'+spell-init-flyspell-predicate-h) (let ((flyspell-correct - (cmds! (and (not (or mark-active (ignore-errors (evil-insert-state-p)))) + (cmds! (and (not mark-active) + (not (and (bound-and-true-p evil-local-mode) + (or (evil-insert-state-p) + (evil-emacs-state-p)))) (memq 'flyspell-incorrect (face-at-point nil t))) #'flyspell-correct-at-point))) (map! :map flyspell-mouse-map diff --git a/modules/editor/evil/autoload/advice.el b/modules/editor/evil/autoload/advice.el index 51d0d3a9f..e904e4f56 100644 --- a/modules/editor/evil/autoload/advice.el +++ b/modules/editor/evil/autoload/advice.el @@ -121,7 +121,8 @@ more information on modifiers." (defun +evil--insert-newline-below-and-respect-comments-a (orig-fn count) (if (or (not +evil-want-o/O-to-continue-comments) (not (eq this-command 'evil-open-below)) - (evil-insert-state-p)) + (evil-insert-state-p) + (evil-emacs-state-p)) (funcall orig-fn count) (letf! (defun evil-insert-newline-below () (+evil--insert-newline)) (let ((evil-auto-indent evil-auto-indent)) @@ -131,7 +132,8 @@ more information on modifiers." (defun +evil--insert-newline-above-and-respect-comments-a (orig-fn count) (if (or (not +evil-want-o/O-to-continue-comments) (not (eq this-command 'evil-open-above)) - (evil-insert-state-p)) + (evil-insert-state-p) + (evil-emacs-state-p)) (funcall orig-fn count) (letf! (defun evil-insert-newline-above () (+evil--insert-newline 'above)) (let ((evil-auto-indent evil-auto-indent)) diff --git a/modules/emacs/vc/config.el b/modules/emacs/vc/config.el index a358955dd..8cbf746de 100644 --- a/modules/emacs/vc/config.el +++ b/modules/emacs/vc/config.el @@ -93,6 +93,7 @@ info in the `header-line-format' is a more visible indicator." "Start git-commit-mode in insert state if in a blank commit message, otherwise in default state." (when (and (bound-and-true-p evil-mode) + (not (evil-emacs-state-p)) (bobp) (eolp)) (evil-insert-state))))) diff --git a/modules/lang/org/autoload/org.el b/modules/lang/org/autoload/org.el index 385da9c66..ad2462b0a 100644 --- a/modules/lang/org/autoload/org.el +++ b/modules/lang/org/autoload/org.el @@ -387,7 +387,8 @@ another level of headings on each invocation." Made for `org-tab-first-hook' in evil-mode." (interactive) (cond ((not (and (bound-and-true-p evil-local-mode) - (evil-insert-state-p))) + (or (evil-insert-state-p) + (evil-emacs-state-p)))) nil) ((org-at-item-p) (if (eq this-command 'org-shifttab) @@ -424,7 +425,8 @@ Made for `org-tab-first-hook'." ;; in the few cases where it does. (yas-indent-line 'fixed)) (cond ((and (or (not (bound-and-true-p evil-local-mode)) - (evil-insert-state-p)) + (evil-insert-state-p) + (evil-emacs-state-p)) (yas--templates-for-key-at-point)) (yas-expand) t)