aboutsummaryrefslogtreecommitdiff
path: root/evil-commands.el
diff options
context:
space:
mode:
Diffstat (limited to 'evil-commands.el')
-rw-r--r--evil-commands.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/evil-commands.el b/evil-commands.el
index a44cc25..82fadf2 100644
--- a/evil-commands.el
+++ b/evil-commands.el
@@ -1778,7 +1778,10 @@ Add (add-hook 'evil-local-mode-hook 'turn-on-undo-tree-mode) to your init file f
:jump t
(interactive "*p")
(evil--check-undo-system)
- (funcall evil-undo-function count))
+ (let ((state-before evil-state))
+ (unless (eq 'normal state-before) (evil-normal-state))
+ (funcall evil-undo-function count)
+ (unless (eq 'normal state-before) (evil-change-state state-before))))
(evil-define-command evil-redo (count)
"Undo COUNT changes in buffer using `evil-redo-function'."