Subject: bug#28118: 25.1; input-method-deactivate-hook works twice because of backward compatibility

From: Konstantin Reich <[email-masked]>
Date: Fri, 18 Aug 2017 06:36:47 +0300

I think the following patch solves the problem.

--- emacs-25.2/lisp/international/mule-cmds.el.orig   2017-02-03 04:25:44.000000000 -0600
+++ emacs-25.2/lisp/international/mule-cmds.el       2017-08-17 22:24:38.750733577 -0500
@@ -1483,7 +1483,6 @@ system (if it corresponds to a MIME char
          (funcall deactivate-current-input-method-function))
       (unwind-protect
          (run-hooks
-          'input-method-inactivate-hook ; for backward compatibility
           'input-method-deactivate-hook)
        (setq current-input-method nil)
        (force-mode-line-update)))))

The problem is that the function deactivate-input-method in the file mule-cmds run two hooks:input-method-inactivate-hook and input-method-deactivate-hook. But they are identical:

(define-obsolete-function-alias
  'inactivate-input-method
  'deactivate-input-method "24.3")

So one hook should be removed.