From 2af0948d2c7abccc2a8b3fb9b168a0e971f214c7 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 23 May 2013 09:23:45 -0400 Subject: [PATCH] * src/keyboard.c (read_decoded_char): Don't decode under w32. Fixes: debbugs:14403 --- src/ChangeLog | 4 ++++ src/keyboard.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index ae311d25ee..8f97659db3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2013-05-23 Stefan Monnier + + * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403). + 2013-05-22 Barry OReilly (tiny change) * casetab.c (init_casetab_once): Fix last change (bug#14424). diff --git a/src/keyboard.c b/src/keyboard.c index 39591569bf..7f863269a7 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -6827,6 +6827,8 @@ tty_read_avail_input (struct terminal *terminal, /* XXX I think the following code should be moved to separate hook functions in system-dependent files. */ #ifdef WINDOWSNT + /* FIXME: AFAIK, tty_read_avail_input is not used under w32 since the non-GUI + code sets read_socket_hook to w32_console_read_socket instead! */ return 0; #else /* not WINDOWSNT */ if (! tty->term_initted) /* In case we get called during bootstrap. */ @@ -8700,6 +8702,10 @@ read_decoded_char (int commandflag, Lisp_Object map, { Lisp_Object nextevt = read_char (commandflag, map, prev_event, used_mouse_menu, NULL); +#ifdef WINDOWSNT + /* w32_console already returns decoded events. */ + return nextevt; +#else struct frame *frame = XFRAME (selected_frame); struct terminal *terminal = frame->terminal; if (!((FRAME_TERMCAP_P (frame) || FRAME_MSDOS_P (frame)) @@ -8750,6 +8756,7 @@ read_decoded_char (int commandflag, Lisp_Object map, = Fcons (events[--n], Vunread_command_events); return events[0]; } +#endif } } -- 2.20.1