Subject: bug#5040: 23.1; w32-register-hot-key problem

From: "Drew Adams" <[email-masked]>
Date: Wed, 25 Nov 2009 13:10:53 -0800

emacs -Q
M-: (w32-register-hot-key [M-tab])
 
Visit a buffer in emacs-lisp-mode.
Type `forward-', then hit `M-TAB'.
 
The Windows TAB dialog comes up (dunno what you call it - a seqence of
icons; you TAB to cycle among their apps) when you hold down the keys
and then disappears when you release them. It should not not come up
at all; instead, `lisp-complete-symbol' should be executed.
 
However, from then on it works as it should. It is only the first time
you press `M-TAB' that Windows doesn't pass the chord to Emacs.
 
emacs -Q
M-: (w32-register-hot-key [M-tab])
 
Visit a buffer in emacs-lisp-mode.  `C-h k M-TAB'. Same as above: the
Windows TAB dialog comes up and then disappears when you release the
keys. And from then on it works OK.
 
In sum, after evalling (w32-register-hot-key [M-tab]) the first
`M-TAB' should be seen by Emacs, but it is not. Only subsequent
`M-TAB's are seen by Emacs.
 
This worked perfectly in Emacs 20 and 21. It is broken starting with
Emacs 22.

In GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600)
 of 2009-07-29 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4)'
 
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: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default-enable-multibyte-characters: t
 
Major mode: Emacs-Lisp
 
Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
 
Recent input:
M-: C-y <return> <return> C-h k C-g C-g C-x 1 C-h k 
<M-tab> C-g C-g <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <menu-bar> <help-menu> <se
nd-emacs-bug-report>
 
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
265 (#o411, #x109)
Type C-x 1 to delete the help window.
Quit
Type C-x 1 to delete the help window, C-M-v to scroll help.
Quit
Quit