Ideally you should search with evil's /, which already uses the current input method, rather than try to hack something together yourself (you can always rebind it to C-s if you feel like that's what you want). If you still want to build this yourself, look into the macro evil-without-input-method-hooks, which is used in evil-search.el to implement this behavior for evil's search. Long story short, evil has hooks that prevent you from using an input method in normal state, and evil-without-input-method-hooks is probably the best way to get around them.
On 3/1/15, Nikolai Weibull <n...@disu.se> wrote: > Hi! > > I'm trying to get input-method to work during isearch. It works if, > for example, isearch-forward-regexp is started in insert mode, as evil > doesn't disable input-method then. However, when started in normal > mode, it won't work, as evil disables input-method in that state. > I've tried > > (defun now-evil--isearch-forward-regexp-around (fn &rest args) > (let ((s evil-state)) > (if (or (not evil-local-mode) (evil-state-property s :input-method)) > (apply fn args) > (evil-change-state 'insert) > (unwind-protect > (apply fn args) > (evil-change-state s))))) > (advice-add 'isearch-forward-regexp :around > 'now-evil--isearch-forward-regexp-around) > > to get around this limitation, but it doesn't work. It seems that > evil is entering normal state somewhere between here and when isearch > is started. > > What am I doing wrong? > > Thanks! > > _______________________________________________ > implementations-list mailing list > implementations-list@lists.ourproject.org > https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list > _______________________________________________ implementations-list mailing list implementations-list@lists.ourproject.org https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list