Subject: Re: bug#71711: 30.0.50; w32-get-ime-open-status always return t

From: Eli Zaretskii <[email-masked]>
Date: Sat, 22 Jun 2024 10:23:50 +0300

> From: Eason Huang <[email-masked]>
> Date: Sat, 22 Jun 2024 08:00:05 +0800
> 
> With the latest version of Windows 10 and Windows 11, the
> `w32-get-ime-open-status` and `w32-set-ime-open-status` doesn't works
> anymore.
> 
> The `w32-get-ime-open-status` will alway return t.
> 
> Steps to reproduce:
> 
> 1. Start Emacs with ` emacs -Q`
> 2. open any buffer(ex. *scratch*)
> 3. make sure ativate an input method, here I use the Microsoft Pinyin in
> system
> 
> 4. eval `w32-get-ime-open-status` in *scratch* , return t
> 3. eval `(w32-set-ime-open-status nil)` and then eval
> `w32-get-ime-open-status`, it also return t. nil is expected

I cannot reproduce this (but I don't really have Microsoft Pinyin or
similar installed).  On my Windows 11 system, w32-get-ime-open-status
returns nil originally, and if I call (w32-set-ime-open-status t), it
then returns t.

If our IME support stopped working for some reason, someone
knowledgeable about Windows IME will need to debug this and find the
reason.