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

From: Рейх Константин <[email-masked]>
Date: Thu, 17 Aug 2017 07:07:44 +0300

Hi,

I noticed that when i add hook to input-method-deactivate-hook i also
add hook to input-method-inactivate-hook. As a result  the hook in
input-method-deactivate-hook works twice, which should not be the case.

This can be seen from the code in function deactivate-input-method in international/mule-cmds.el:
....
 (run-hooks
	   'input-method-inactivate-hook ; for backward compatibility
	   'input-method-deactivate-hook)
.....

For example
(add-hook 'input-method-deactivate-hook '(lambda () (message
"b") ))

produces "b [2 times]" with deactivation of the input method. 

All version of emacs from 24.3 are affected.