         (lookup-key evil-motion-state-map (evil-escape--first-key)))
   ;; evil states
   ;; insert state
-  (let ((insert-func (lambda (key) (interactive)
-                       (cond ((eq 'term-mode major-mode)
-                              (call-interactively 'term-send-raw))
-                             (t (evil-escape--default-insert-func key))))))
-    (eval `(evil-escape-define-escape "insert-state" evil-insert-state-map evil-normal-state
-                                      :insert-func ,insert-func
-                                      :delete-func evil-escape--default-delete-func)))
+  (eval `(evil-escape-define-escape "insert-state" evil-insert-state-map evil-normal-state
+                                    :insert-func evil-escape--insert-state-insert-func
+                                    :delete-func evil-escape--default-delete-func))
   ;; emacs state
   (let ((exit-func (lambda () (interactive)
                      (cond ((string-match "magit" (symbol-name major-mode))

  "Insert KEY in current buffer if not read only."
  (when (not buffer-read-only) (insert key)))

(defun evil-escape--isearch-insert-func (key)
  "Insert KEY in current buffer if not read only."
  (isearch-printing-char))

;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; Keywords: convenience editing evil
;; Created: 22 Oct 2014
;; Version: 2.08
;; Package-Requires: ((emacs "24") (evil "1.0.9"))
;; URL: https://github.com/syl20bnr/evil-escape

