From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#11732: 24.1; Microsoft IME Japanese input problem Date: Thu, 19 Feb 2015 13:44:29 +0200 Message-ID: <8361ay3z36.fsf@gnu.org> References: <87obohkxga.fsf@XAVIER-PC.i-did-not-set--mail-host-address--so-tickle-me> <83h9uj5jwv.fsf@gnu.org> <83k2ze4czy.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1424346324 26301 80.91.229.3 (19 Feb 2015 11:45:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 19 Feb 2015 11:45:24 +0000 (UTC) Cc: 11732-done@debbugs.gnu.org To: Fujii Hironori Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Feb 19 12:45:14 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YOPXe-0000Qd-6F for geb-bug-gnu-emacs@m.gmane.org; Thu, 19 Feb 2015 12:45:14 +0100 Original-Received: from localhost ([::1]:55834 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOPXd-0004VI-L0 for geb-bug-gnu-emacs@m.gmane.org; Thu, 19 Feb 2015 06:45:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53182) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOPXY-0004Pw-IO for bug-gnu-emacs@gnu.org; Thu, 19 Feb 2015 06:45:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YOPXT-0004pC-AO for bug-gnu-emacs@gnu.org; Thu, 19 Feb 2015 06:45:08 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:57175) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOPXT-0004ot-7t for bug-gnu-emacs@gnu.org; Thu, 19 Feb 2015 06:45:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YOPXT-00043d-1U for bug-gnu-emacs@gnu.org; Thu, 19 Feb 2015 06:45:03 -0500 Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Thu, 19 Feb 2015 11:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 11732 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Mail-Followup-To: 11732@debbugs.gnu.org, eliz@gnu.org, xavier.dahan@gmail.com Original-Received: via spool by 11732-done@debbugs.gnu.org id=D11732.142434626115524 (code D ref 11732); Thu, 19 Feb 2015 11:45:02 +0000 Original-Received: (at 11732-done) by debbugs.gnu.org; 19 Feb 2015 11:44:21 +0000 Original-Received: from localhost ([127.0.0.1]:48414 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YOPWm-00042J-D5 for submit@debbugs.gnu.org; Thu, 19 Feb 2015 06:44:20 -0500 Original-Received: from mtaout24.012.net.il ([80.179.55.180]:36014) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YOPWi-000429-RM for 11732-done@debbugs.gnu.org; Thu, 19 Feb 2015 06:44:18 -0500 Original-Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NK000C00NYCBI00@mtaout24.012.net.il> for 11732-done@debbugs.gnu.org; Thu, 19 Feb 2015 13:35:55 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NK000CF8O7V7S20@mtaout24.012.net.il>; Thu, 19 Feb 2015 13:35:55 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:99588 Archived-At: > Date: Thu, 19 Feb 2015 19:40:18 +0900 > From: Fujii Hironori > > >> | Remarks > >> | > >> | This message is a notification to an IME window to open its > >> | composition window. An application should process this message if it > >> | displays composition characters itself. > >> | > >> | If an application has created an IME window, it should pass this > >> | message to that window. The DefWindowProc function processes the > >> | message by passing it to the default IME window. > > > > Yes, I've read that, but it's still not clear to me what that mean in > > practice. Are you saying that ImmSetCompositionWindow only sets the > > position of the composition window, but it will not be shown unless we > > pass WM_IME_STARTCOMPOSITION to DefWindowProc? > > Yes, I am. > > > In that case, how will > > Windows know that the composition window we positioned is "the default > > IME window"? > > I don't understand what this means. > The default IME window is not a composition window, but opens its > composition window. > > In SDK document, there are some hints what the default IME window is. > > https://msdn.microsoft.com/en-us/library/windows/desktop/dd318561(v=vs.85).aspx > > | The operating system creates a default IME window for every > | thread. The window is created based on the IME class. > > https://msdn.microsoft.com/en-us/library/windows/desktop/dd318170(v=vs.85).aspx > > | IME Window Class > | > | The IME window class is a predefined system global class that defines > | the appearance and behavior of the standard IME windows. The class is > | similar to common control classes in that the application creates a > | window of this class by using the CreateWindowEx function. Like static > | controls, an IME window does not respond to user input by > | itself. Instead, it notifies the IME of user input actions and > | processes control messages sent to it by the IME or applications to > | carry out a response to the user action. > > > Or are you saying we should be calling ImmSetCompositionWindow at all? > > That call was introduced as result of solving bugs #2570 and #2569, so > > I think the call or its equivalent should stay. > > I don't understand what this means. > ImmSetCompositionWindow should be called, of course. > > > Sorry I'm asking all these questions, but I don't know enough about > > IME programming, and need to understand this in order to see that the > > patch doesn't break anything else. > > Current Emacs's IME implementation has this bug. > It's almost imposible to input desired text because of the invisible > composition window. > This patch is nice improvement. Thanks, I installed your change in the development sources, as commit 37e3549, and I'm marking this bug "done".