Subject: bug#11732: closed (Re: bug#11732: 24.1; Microsoft IME Japanese input problem)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 19 Feb 2015 11:45:03 +0000

Your bug report

#11732: 24.1; Microsoft IME Japanese input problem

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
11732: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11732
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#11732: 24.1; Microsoft IME Japanese input problem
From: Eli Zaretskii <[email-masked]>
To: Fujii Hironori <[email-masked]>
Cc: [email-masked]
Date: Thu, 19 Feb 2015 13:44:29 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Thu, 19 Feb 2015 19:40:18 +0900
> From: Fujii Hironori <[email-masked]>
> 
> >> | 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".

Subject: 24.1; Microsoft IME Japanese input problem
From: [email-masked]
To: [email-masked]
Date: Mon, 18 Jun 2012 14:20:37 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Problem to use the native Microsoft IME Japanese input tool to write in
Japanese within Emacs.

Japanese keyboard.

Windows 7, fully in Japanese (locale, language).

Switching to Japanese IME input in Emacs makes the user "blind".
Can not see what we are typing (like when typing a password) until is pressed:

- either 2 times "space". Then the small IME window displaying the kanji
  choices corresponding to what has been typeset (blind) appears on the
  bottom-right of the screen.

- either "enter". Then the hiragana that have been typeset (blind) are printed
  in Emacs.   

That's all. Best regards, Xavier.
--------------------------------------------------------------------------

In GNU Emacs 24.1.1 (i386-mingw-nt6.1.7601)
 of 2012-06-10 on MARVIN
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --with-gcc (4.6) --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: JPN
  value of $XMODIFIERS: nil
  locale-coding-system: cp932
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<language-change> C-c C-c M-x b u <tab> g - r e <tab> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> r e 
p o r t - e m a <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail regexp-opt rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils help-mode easymenu view time-date
japan-util tooltip ediff-hook vc-hooks lisp-float-type mwheel dos-w32
disp-table ls-lisp w32-win w32-vars tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer loaddefs button faces cus-face files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process multi-tty emacs)