Skip to content

Commit eaf0dc0

Browse files
committed
Fixes #1974: Correct C-h behavior to ensure electric-pair deletes adjacent pairs
1 parent 729d9a5 commit eaf0dc0

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

evil-maps.el

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,16 @@
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+
(cond
455+
((commandp del-binding)
456+
(call-interactively del-binding))
457+
458+
((functionp del-binding)
459+
(funcall del-binding)))))))))
451460
([mouse-2] . mouse-yank-primary))
452461
"Evil's bindings for insert & replace states.
453462
Used in `evil-insert-state-map' and `evil-replace-state-map',

evil-vars.el

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -590,8 +590,7 @@ ubiquity of prefix arguments."
590590
(define-key evil-replace-state-map (kbd "C-h") nil))
591591
((and value
592592
(not (lookup-key evil-insert-state-map (kbd "C-h"))))
593-
(define-key evil-insert-state-map (kbd "C-h")
594-
'evil-delete-backward-char-and-join)
593+
(define-key evil-insert-state-map (kbd "C-h") (kbd "DEL"))
595594
(define-key evil-replace-state-map (kbd "C-h")
596595
'evil-replace-backspace))))))
597596

0 commit comments

Comments
 (0)