emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/evil-escape 1c4b0efc06 100/133: Allow evil-escape in norma


From: ELPA Syncer
Subject: [nongnu] elpa/evil-escape 1c4b0efc06 100/133: Allow evil-escape in normal state if it makes sense
Date: Wed, 3 Jan 2024 21:59:56 -0500 (EST)

branch: elpa/evil-escape
commit 1c4b0efc067c0dd3e48102e3028d8bca15ef3fc9
Author: syl20bnr <sylvain.benner@gmail.com>
Commit: syl20bnr <sylvain.benner@gmail.com>

    Allow evil-escape in normal state if it makes sense
    
    i.e. when ESC is not bound to evil-force-normal-state
    It is now possible to go back to evilified state from normal state with
    fd.
---
 evil-escape.el | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/evil-escape.el b/evil-escape.el
index 27f9a04a0a..47485b3568 100644
--- a/evil-escape.el
+++ b/evil-escape.el
@@ -180,7 +180,7 @@ with a key sequence."
                           (equal (this-command-keys) (evil-escape--second-key))
                           (char-equal evt fkey))))
             (evil-repeat-stop)
-            (setq this-command (evil-escape-func)))
+            (when (evil-escape-func) (setq this-command (evil-escape-func))))
            ((null evt))
            (t (setq unread-command-events
                     (append unread-command-events (list evt)))))))))
@@ -196,7 +196,9 @@ with a key sequence."
            (bound-and-true-p isearch-mode)
            (eq 'ibuffer-mode major-mode)
            (and (fboundp 'helm-alive-p) (helm-alive-p))
-           (not (eq evil-state 'normal)))
+           (or (not (eq 'normal evil-state))
+               (not (eq 'evil-force-normal-state
+                        (lookup-key evil-normal-state-map [escape])))))
        (not (memq major-mode evil-escape-excluded-major-modes))
        (or (not evil-escape-enable-only-for-major-modes)
            (memq major-mode evil-escape-enable-only-for-major-modes))
@@ -213,7 +215,8 @@ with a key sequence."
    ((and (fboundp 'helm-alive-p) (helm-alive-p)) 'helm-keyboard-quit)
    ((eq 'ibuffer-mode major-mode) 'ibuffer-quit)
    ((bound-and-true-p isearch-mode) 'isearch-abort)
-   ((window-minibuffer-p) 'abort-recursive-edit)))
+   ((window-minibuffer-p) 'abort-recursive-edit)
+   (t (lookup-key evil-normal-state-map [escape]))))
 
 (defun evil-escape--escape-motion-state ()
   "Return the function to escape from motion state."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]