GNU bug report logs -
#12082
24.1.50; Wrong character showed by "C-h c"
Previous Next
Reported by: Dani Moncayo <dmoncayo <at> gmail.com>
Date: Sun, 29 Jul 2012 17:58:01 UTC
Severity: normal
Found in version 24.1.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #47 received at 12082 <at> debbugs.gnu.org (full text, mbox):
> Date: Mon, 30 Jul 2012 17:05:01 +0200
> From: Dani Moncayo <dmoncayo <at> gmail.com>
> Cc: Juanma Barranquero <lekktu <at> gmail.com>, 12082 <at> debbugs.gnu.org
>
> >> . switch the keyboard to English ("EN" near the system tray), if you
> >> can, and type a couple of pure ASCII characters
> >
> > [a]
> > warning: w32fns: WM_CHAR 0x61
> > warning: w32term: 0x61 => 0x61 (cp1252)
> >
> > [z]
> > warning: w32fns: WM_CHAR 0x7a
> > warning: w32term: 0x7a => 0x7a (cp1252)
> >
> >> . switch the keyboard to Spanish and type ç and M-ç
> >
> > [ç]
> > warning: w32fns: WM_CHAR 0xe7
> > warning: w32term: 0xffffffe7 => 0xe7 (cp1252)
> >
> > [M-ç]
> > warning: w32term: 0xffffff87 => 0x2021 (cp1252)
> >
> > (yes, only one message for this character)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This means M-ç gets processed by some code in w32fns.c that doesn't
have a DebPrint. Can you find out which one (by sticking DebPrint)?
For example, these two fragments look as possible suspects:
1)
default:
/* If not defined as a function key, change it to a WM_CHAR message. */
if (wParam > 255 || !lispy_function_keys[wParam])
{
DWORD modifiers = construct_console_modifiers ();
...
else
{
/* Let TranslateMessage handle everything else. */
windows_translate = 1;
}
}
2)
translate:
if (windows_translate)
{
MSG windows_msg = { hwnd, msg, wParam, lParam, 0, {0,0} };
windows_msg.time = GetMessageTime ();
TranslateMessage (&windows_msg);
goto dflt;
}
Can you stick a DebPrint into each block and see which one handles
M-ç?
This bug report was last modified 12 years and 293 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.