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

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

[nongnu] elpa/evil-escape f8fe5c98d2 083/133: Add `evil-escape-inhibit-f


From: ELPA Syncer
Subject: [nongnu] elpa/evil-escape f8fe5c98d2 083/133: Add `evil-escape-inhibit-functions`
Date: Wed, 3 Jan 2024 21:59:55 -0500 (EST)

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

    Add `evil-escape-inhibit-functions`
    
    Replace the previous `evil-escape-suppressed-predicates` function
---
 README.md      |  6 ++++++
 evil-escape.el | 15 ++++++++++-----
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index 793aae3eb2..773b012800 100644
--- a/README.md
+++ b/README.md
@@ -103,6 +103,12 @@ An inclusive list of major modes can defined with the 
variable
 `evil-escape-enable-only-for-major-modes`. When this list is non-nil
 then evil-escape is enabled only for the major-modes in the list.
 
+### Inhibit evil-escape
+
+A list of zero arity functions can be defined with variable
+`evil-escape-inhibit-functions`, if any of these functions return
+non nil then evil-escape is inhibited.
+
 ### Assign a key binding directly
 
 It is possible to bind `evil-escape' function directly`, for
diff --git a/evil-escape.el b/evil-escape.el
index 37b759ff2f..1e1ac1b9d4 100644
--- a/evil-escape.el
+++ b/evil-escape.el
@@ -5,7 +5,7 @@
 ;; Author: Sylvain Benner <sylvain.benner@gmail.com>
 ;; Keywords: convenience editing evil
 ;; Created: 22 Oct 2014
-;; Version: 3.08
+;; Version: 3.09
 ;; Package-Requires: ((emacs "24") (evil "1.0.9"))
 ;; URL: https://github.com/syl20bnr/evil-escape
 
@@ -66,6 +66,10 @@
 ;; non-nil then evil-escape is enabled only for the major-modes
 ;; in the list.
 
+;; A list of zero arity functions can be defined with the variable
+;; `evil-escape-inhibit-functions', if any of these functions return
+;; non nil then evil-escape is inhibited.
+
 ;; It is possible to bind `evil-escape' function directly, for
 ;; instance to execute evil-escape with `C-c C-g':
 
@@ -109,9 +113,9 @@ key first."
   :type 'sexp
   :group 'evil-escape)
 
-(defcustom evil-escape-suppressed-predicates nil
-  "List of zero argument predicate functions. If any of these functions
-return nil, evil escape will be suppressed."
+(defcustom evil-escape-inhibit-functions nil
+  "List of zero argument predicate functions disabling evil-escape.
+ If any of these functions return non nil, evil escape will be inhibited."
   :type 'sexp
   :group 'evil-escape)
 
@@ -178,7 +182,8 @@ with a key sequence."
        (or (equal (this-command-keys) (evil-escape--first-key))
            (and evil-escape-unordered-key-sequence
                 (equal (this-command-keys) (evil-escape--second-key))))
-       (every #'funcall evil-escape-suppressed-predicates)))
+       (not (reduce (lambda (x y) (or x y))
+                    (mapcar 'funcall evil-escape-inhibit-functions)))))
 
 (defun evil-escape--escape-normal-state ()
   "Escape from normal state."



reply via email to

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