Skip to content

Commit cbb8c9a

Browse files
committed
Fixes #1974: Correct C-h behavior to ensure electric-pair deletes adjacent pairs
1 parent 682e87f commit cbb8c9a

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

evil-maps.el

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,11 @@
447447
,@(when evil-want-C-u-delete
448448
'(("\C-u" . evil-delete-back-to-indentation)))
449449
,@(when evil-want-C-h-delete
450-
'(("\C-h" . evil-delete-backward-char-and-join)))
450+
'(("\C-h" . (lambda()
451+
(interactive)
452+
(let ((del-binding (key-binding (kbd "DEL"))))
453+
(when del-binding
454+
(funcall del-binding)))))))
451455
([mouse-2] . mouse-yank-primary))
452456
"Evil's bindings for insert & replace states.
453457
Used in `evil-insert-state-map' and `evil-replace-state-map',

evil-vars.el

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,11 @@ ubiquity of prefix arguments."
591591
((and value
592592
(not (lookup-key evil-insert-state-map (kbd "C-h"))))
593593
(define-key evil-insert-state-map (kbd "C-h")
594-
'evil-delete-backward-char-and-join)
594+
(lambda()
595+
(interactive)
596+
(let ((del-binding (key-binding (kbd "DEL"))))
597+
(when del-binding
598+
(funcall del-binding)))))
595599
(define-key evil-replace-state-map (kbd "C-h")
596600
'evil-replace-backspace))))))
597601

0 commit comments

Comments
 (0)