mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-03 12:27:26 -05:00
narf:exit-mode-maybe (jk): don't affect undo history
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user