From 7d24430b68e21a76c54c4d1f2e3a6f0110a926c4 Mon Sep 17 00:00:00 2001 From: James Nguyen Date: Mon, 4 Dec 2017 18:20:26 -0800 Subject: [PATCH] Elisp: Support eval-print-last-sexp when evil-move-beyond-eol is nil --- evil-elisp-mode.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/evil-elisp-mode.el b/evil-elisp-mode.el index 82d332a..b788633 100644 --- a/evil-elisp-mode.el +++ b/evil-elisp-mode.el @@ -57,8 +57,19 @@ alternative printed representations that can be displayed." (lookup-key (current-global-map) (kbd "C-m"))) (call-interactively 'elisp-last-sexp-toggle-display))) +(defun evil-elisp-mode-last-sexp (command &rest args) + "In normal-state or motion-state, last sexp ends at point." + (if (and (not evil-move-beyond-eol) + (or (evil-normal-state-p) (evil-motion-state-p))) + (save-excursion + (unless (or (eobp) (eolp)) (forward-char)) + (apply command args)) + (apply command args))) + (defun evil-elisp-mode-setup () "Set up `evil' bindings for `elisp-mode'." + (unless evil-move-beyond-eol + (advice-add 'eval-print-last-sexp :around 'evil-elisp-mode-last-sexp)) (advice-add 'last-sexp-setup-props :override 'evil-elisp-mode-last-sexp-setup-props))