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

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

[nongnu] elpa/evil-escape fd633a9ffb 093/133: Attempt 2 at fixing evil-r


From: ELPA Syncer
Subject: [nongnu] elpa/evil-escape fd633a9ffb 093/133: Attempt 2 at fixing evil-repeat
Date: Wed, 3 Jan 2024 21:59:56 -0500 (EST)

branch: elpa/evil-escape
commit fd633a9ffbfd9b25da59d03796c382880fd5b70b
Author: justbur <justin@burkett.cc>
Commit: justbur <justin@burkett.cc>

    Attempt 2 at fixing evil-repeat
    
    Calling `evil-repeat-stop` prevents recording the repeat information of
    the current command (the repeat info is actually recorded in the
    post-command-hook). This seems to be the safest way to prevent
    evil-repeat from recording the first entry of the key sequence. I think
    we need to ensure that the hook is run after the evil-repeat hook,
    because the evil-repeat hook starts the recording.
    
    I don't see the purpose of the insert followed by the delete, so it's
    commented out, but please revert this if they serve a purpose.
---
 evil-escape.el | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/evil-escape.el b/evil-escape.el
index 232303d003..a49a71bb84 100644
--- a/evil-escape.el
+++ b/evil-escape.el
@@ -134,7 +134,7 @@ with a key sequence."
   :group 'evil
   :global t
   (if evil-escape-mode
-      (add-hook 'pre-command-hook 'evil-escape-pre-command-hook)
+      (add-hook 'pre-command-hook 'evil-escape-pre-command-hook t)
     (remove-hook 'pre-command-hook 'evil-escape-pre-command-hook)))
 
 (defun evil-escape ()
@@ -163,13 +163,11 @@ with a key sequence."
   (with-demoted-errors "evil-escape: Error %S"
       (when (evil-escape-p)
         (let* ((modified (buffer-modified-p))
-               (repeat-info evil-repeat-info)
-               (inserted (evil-escape--insert))
+               ;; (inserted (evil-escape--insert))
                (fkey (elt evil-escape-key-sequence 0))
                (skey (elt evil-escape-key-sequence 1))
                (evt (read-event nil nil evil-escape-delay)))
-          (when inserted (evil-escape--delete))
-          (setq evil-repeat-info repeat-info)
+          ;; (when inserted (evil-escape--delete))
           (set-buffer-modified-p modified)
           (cond
            ((and (integerp evt)
@@ -178,6 +176,7 @@ with a key sequence."
                      (and evil-escape-unordered-key-sequence
                           (equal (this-command-keys) (evil-escape--second-key))
                           (char-equal evt fkey))))
+            (evil-repeat-stop)
             (setq this-command (evil-escape-func)))
            ((null evt))
            (t (setq unread-command-events
@@ -299,6 +298,7 @@ with a key sequence."
 
 (defun evil-escape--escape-with-q ()
   "Send `q' key press event to exit from a buffer."
+  (interactive)
   (setq unread-command-events (listify-key-sequence "q")))
 
 (provide 'evil-escape)



reply via email to

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