Óscar Fuentes <[email protected]> writes:
I'm trying Evil since a few days ago (looks great so far) and, as a heavy user of paredit.el, I'll like to avoid the possibility of damaging the structure of my Lisp code with Evil commands. A quick search reveals the existence of a small hack named evil-paredit-mode:
https://github.com/roman/evil-paredit/blob/master/evil-paredit.el
but, after visiting a Lisp file and executing M-x evil-paredit-mode, at first it seems that it has no effect and M-x x shows that the key is still bound to evil-delete-char. But after some random edit operations, the key becomes bound to paredit-forward-delete, as it should since the activation of evil-paredit-mode.
Why could this happen?
I'm using Emacs compiled from trunk 5 days ago, Evil from latest git sources and paredit-beta.
It seems that the method used by evil-paredit-mode is not adequate for the job. Modifying the local keymap seems to work: (defun foo () (interactive) (define-key evil-normal-state-local-map "d" 'evil-paredit-delete) (define-key evil-normal-state-local-map "c" 'evil-paredit-change) (define-key evil-normal-state-local-map "y" 'evil-paredit-yank) (define-key evil-normal-state-local-map "D" 'evil-paredit-delete-line) (define-key evil-normal-state-local-map "C" 'evil-paredit-change-line) (define-key evil-normal-state-local-map "Y" 'evil-paredit-yank-line) (define-key evil-normal-state-local-map "X" 'paredit-backward-delete) (define-key evil-normal-state-local-map "x" 'paredit-forward-delete) )