emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Next pretest


From: Juanma Barranquero
Subject: Re: Next pretest
Date: Wed, 27 Jan 2010 17:06:48 +0100

On Wed, Jan 27, 2010 at 15:03, Jason Rumney <address@hidden> wrote:

> Please try the following patch:

(I've changed three trivial typos emacs_ev. to emacs_ev->)

It still triggers the assertion, and kind is still ASCII_KEYSTROKE_EVENT:

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

  Breakpoint 1, w32_abort () at w32fns.c:7345
  7345      button = MessageBox (NULL,
  (gdb) bt
  #0  w32_abort () at w32fns.c:7345
  #1  0x0104f358 in die (msg=0x1548e80 "assertion failed: c ==
event->code", file=0x15404e0 "keyboard.c", line=5614) at alloc.c:6259
  #2  0x010135f6 in make_lispy_event (event=0x167f178) at keyboard.c:5614
  #3  0x010117e7 in kbd_buffer_get_event (kbp=0x88f828,
used_mouse_menu=0x88fabc, end_time=0x0) at keyboard.c:4347
  #4  0x0100d899 in read_char (commandflag=1, nmaps=2, maps=0x88f960,
prev_event=48322562, used_mouse_menu=0x88fabc, end_time=0x0) at
keyboard.c:3079
  #5  0x0101f75f in read_key_sequence (keybuf=0x88fc00, bufsize=30,
prompt=48322562, dont_downcase_last=0, can_return_switch_frame=1,
      fix_current_buffer=1) at keyboard.c:9512
  #6  0x01007c86 in command_loop_1 () at keyboard.c:1643
  #7  0x0103bb12 in internal_condition_case (bfun=0x10073e0
<command_loop_1>, handlers=48379098, hfun=0x1006b11 <cmd_error>) at
eval.c:1490
  #8  0x01006feb in command_loop_2 () at keyboard.c:1360
  #9  0x0103b531 in internal_catch (tag=48378290, func=0x1006fc8
<command_loop_2>, arg=48322562) at eval.c:1226
  #10 0x01006fa1 in command_loop () at keyboard.c:1339
  #11 0x01006203 in recursive_edit_1 () at keyboard.c:954
  #12 0x01006727 in Frecursive_edit () at keyboard.c:1016
  #13 0x01002af2 in main (argc=3, argv=0xa71318) at emacs.c:1833
  (gdb) frame 2
  #2  0x010135f6 in make_lispy_event (event=0x167f178) at keyboard.c:5614
  5614                eassert (c == event->code);
  (gdb) p *event
  $1 = {
    kind = ASCII_KEYSTROKE_EVENT,
    code = -92,
    part = scroll_bar_above_handle,
    modifiers = 0,
    x = 0,
    y = 0,
    timestamp = 25781364,
    padding = {0x0, 0x0},
    frame_or_window = 48446469,
    arg = 48322562
  }


In key_event, control is going through this branch

      else if (event->uChar.AsciiChar < 128)
        {
          emacs_ev->kind = ASCII_KEYSTROKE_EVENT;
          emacs_ev->code = event->uChar.AsciiChar;
        }

(that's lines 473-477 after your patch) because at that point, event is

  (gdb) p *event
  $3 = {
    bKeyDown = 1,
    wRepeatCount = 1,
    wVirtualKeyCode = 192,
    wVirtualScanCode = 39,
    uChar = {
      UnicodeChar = 164 L'¤\000',
      AsciiChar = -92 '¤'
    },
    dwControlKeyState = 0
  }

    Juanma




reply via email to

[Prev in Thread] Current Thread [Next in Thread]