narf:exit-mode-maybe (jk): don't affect undo history
This commit is contained in:
parent
9845101db9
commit
7c37162d9b
1 changed files with 17 additions and 16 deletions
|
@ -246,22 +246,23 @@ to abort the minibuffer."
|
|||
(evil-define-command narf:exit-mode-maybe ()
|
||||
"Exits insert/replace mode using jk without the momentary pause caused by
|
||||
key-chord-define."
|
||||
:repeat change
|
||||
(interactive)
|
||||
(let ((modified (buffer-modified-p)))
|
||||
(call-interactively 'self-insert-command)
|
||||
(let ((evt (read-event nil nil 0.4)))
|
||||
(cond
|
||||
((null evt) (message ""))
|
||||
((and (integerp evt) (or (char-equal evt ?k)
|
||||
(char-equal evt ?K)))
|
||||
(if (evil-replace-state-p)
|
||||
(evil-replace-backspace)
|
||||
(delete-char -1))
|
||||
(set-buffer-modified-p modified)
|
||||
(push 'escape unread-command-events))
|
||||
(t
|
||||
(setq unread-command-events (append unread-command-events (list evt)))))))))
|
||||
:repeat nil
|
||||
(interactive)
|
||||
(let ((modified (buffer-modified-p))
|
||||
(buffer-undo-list t))
|
||||
(call-interactively 'self-insert-command)
|
||||
(let ((evt (read-event nil nil 0.4)))
|
||||
(cond
|
||||
((null evt) (message ""))
|
||||
((and (integerp evt) (or (char-equal evt ?k)
|
||||
(char-equal evt ?K)))
|
||||
(if (evil-replace-state-p)
|
||||
(evil-replace-backspace)
|
||||
(delete-char -1))
|
||||
(set-buffer-modified-p modified)
|
||||
(push 'escape unread-command-events))
|
||||
(t
|
||||
(setq unread-command-events (append unread-command-events (list evt)))))))))
|
||||
|
||||
(provide 'core-defuns)
|
||||
;;; core-defuns.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue