必要のないときは migemo をOFFにしたい

日本語でない文書では isearch 時に migemo をオフにするを設定してみました。

自分の場合は utf-8 もON対象にしないといけないので、ちょっとだけ改造。
mule-utf-8を入れました。

(defun my-language-check (lang)
  (let ((coding
         (coding-system-base buffer-file-coding-system)))
    (memq
     coding
     (cons 'mule-utf-8 (cdr (assoc 'coding-system
                 (assoc lang language-info-alist)))))))

;; 日本語じゃないときは migemo を使わない
(eval-after-load "migemo"
  '(progn
     (defadvice isearch-mode
       (before my-migemo-off activate)
       (unless (my-language-check "Japanese")
         (make-local-variable 'migemo-isearch-enable-p)
         (setq migemo-isearch-enable-p nil)))
     (add-hook 'isearch-mode-end-hook
               (lambda ()
                 (unless (my-language-check "Japanese")
                   (setq migemo-isearch-enable-p t))))))

デフォルトの coding-systemが utf-8なので実はあまり意味がなかったり。
精度を上げる方法を考えたい所。