Subject: bug#4567 closed by Jason Rumney <[email-masked]> (Keyboard input on w32 console fixed)

From: [email-masked] (Emacs bug Tracking System)
Date: Wed, 27 Jan 2010 23:27:02 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs,w32 package:

#4567: console mode assertion failure on keyboard.c (c == event->code)

It has been closed by Jason Rumney <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Jason Rumney <[email-masked]> by
replying to this email.

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

Subject: Keyboard input on w32 console fixed
From: Jason Rumney <[email-masked]>
To: [email-masked]
Date: Thu, 28 Jan 2010 07:26:14 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

> I'm the only one that sees #4567, an assertion failure on console mode
> on Windows?

I've fixed this by using Unicode for keyboard input and marking
characters above 127 as MULTIBYTE rather than ASCII.

Subject: console mode assertion failure on keyboard.c (c == event->code)
From: Juanma Barranquero <[email-masked]>
To: Emacs Bug Tracker <[email-masked]>
Date: Mon, 28 Sep 2009 01:29:29 +0200

Package: emacs,w32
Version: 23.1,23.1.50

This happens on Windows; code page is 437 or 850.

emacs -Q -nw
ñ             ;; or ç, º, etc; any non-ASCII character in the keyboard

keyboard.c:5548: Emacs fatal error: assertion failed: c == event->code

Breakpoint 1, w32_abort () at w32fns.c:7344
7344      button = MessageBox (NULL,
(gdb) bt
#0  w32_abort () at w32fns.c:7344
#1  0x0104d032 in die (msg=0x14f5970 "assertion failed: c ==
event->code", file=0x14ed02c "keyboard.c", line=5548) at alloc.c:6254
#2  0x01012fac in make_lispy_event (event=0x160e1d0) at keyboard.c:5548
#3  0x010112e5 in kbd_buffer_get_event (kbp=0x82f69c,
used_mouse_menu=0x82fa04, end_time=0x0) at keyboard.c:4312
#4  0x0100d511 in read_char (commandflag=1, nmaps=2, maps=0x82f820,
prev_event=48273409, used_mouse_menu=0x82fa04, end_time=0x0)
    at keyboard.c:3059
#5  0x0101eb2a in read_key_sequence (keybuf=0x82fc4c, bufsize=30,
prompt=48273409, dont_downcase_last=0, can_return_switch_frame=1,
    fix_current_buffer=1) at keyboard.c:9461
#6  0x01007a9a in command_loop_1 () at keyboard.c:1640
#7  0x01039cba in internal_condition_case (bfun=0x1007276
<command_loop_1>, handlers=48337089, hfun=0x10069ec <cmd_error>) at
eval.c:1513
#8  0x01006e85 in command_loop_2 () at keyboard.c:1357
#9  0x01039713 in internal_catch (tag=48333209, func=0x1006e65
<command_loop_2>, arg=48273409) at eval.c:1249
#10 0x01006e3c in command_loop () at keyboard.c:1336
#11 0x01006143 in recursive_edit_1 () at keyboard.c:951
#12 0x01006618 in Frecursive_edit () at keyboard.c:1013
#13 0x01002a8d in main (argc=3, argv=0xa92808) at emacs.c:1827
(gdb) frame 2
#2  0x01012fac in make_lispy_event (event=0x160e1d0) at keyboard.c:5548
5548                eassert (c == event->code);
(gdb) p c
$1 = 164
(gdb) p event->code
$2 = -92
(gdb)