If point is at read-only area (some button with local-map) of writable buffer, input method performs key translation, making button bindings stop working when some input method is activated

This patch fixes this, thanks!

diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index f42b594..e91175f 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -1329,7 +1329,8 @@ quail-converting
 (defvar quail-conversion-str nil)
 
 (defun quail-input-method (key)
-  (if (or (and buffer-read-only
+  (if (or (and (or buffer-read-only
+                   (get-char-property (point) 'read-only))
        (not (or inhibit-read-only
  (get-char-property (point) 'inhibit-read-only))))
   (and overriding-terminal-local-map

--
lg