diff --git a/evil-iedit-state.el b/evil-iedit-state.el index e340a0a..75c6f5e 100644 --- a/evil-iedit-state.el +++ b/evil-iedit-state.el @@ -166,15 +166,14 @@ If INTERACTIVE is non-nil then COMMAND is called interactively." ;; force expand-region temporary overlay map exit (setq overriding-terminal-local-map nil)) - (defadvice er/prepare-for-more-expansions-internal - (around iedit/prepare-for-more-expansions-internal activate) - ad-do-it - (let ((default-msg (car ad-return-value)) - (default-bindings (cdr ad-return-value))) - (setq ad-return-value - (cons (concat default-msg ", e to edit") - (add-to-list 'default-bindings - '("e" evil-iedit-state/iedit-mode-from-expand-region)))))))) + (define-advice er/prepare-for-more-expansions-internal + (:around (orig-fun &rest args) evil-iedit-state) + (let* ((result (apply orig-fun args)) + (default-msg (car result)) + (default-bindings (cdr result))) + (cons (concat default-msg ", e to edit") + (add-to-list 'default-bindings + '("e" evil-iedit-state/iedit-mode-from-expand-region))))))) ;; redefine iedit-done to prevent iedit from putting the occurrence on the ;; kill-ring for no useful reason.