--- Begin Message ---
Subject: |
24.3.50; [regression] Typing non-ascii characters on a non-GUI MS-Windows session |
Date: |
Tue, 14 May 2013 21:11:22 +0200 |
I see this problem in [2] but not in [1].
Recipe from "emacs -Q -nw":
Type these characters: áéíóúñç
Note: With my spanish keyboard, I input the accented vowels by typing
the dead key [´] and then the vowel key (e.g [a]). As for the "ñ" and
the "ç" characters, they have their own keys.
Well, in [1], I see the expected characters in the buffer (áéíóúñç), but
in [2] I see these characters instead: ßÚݾ·±þ
--- Footnotes ---
[1] Build from the emacs-24 branch:
In GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601)
of 2013-04-08 on LEG570
Bzr revision: 111342 address@hidden
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --with-gcc (4.7) --no-opt --enable-checking --cflags
-IC:/emacs/libs/libXpm-3.5.10/include -IC:/emacs/libs/libXpm-3.5.10/src
-IC:/emacs/libs/libpng-dev_1.4.3-1_win32/include
-IC:/emacs/libs/zlib-dev_1.2.5-2_win32/include
-IC:/emacs/libs/giflib-4.1.4-1-lib/include
-IC:/emacs/libs/jpeg-6b-4-lib/include
-IC:/emacs/libs/tiff-3.8.2-1-lib/include
-IC:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2
-IC:/emacs/libs/gnutls-3.1.10-w32/include
-IC:/emacs/libs/libiconv-1.14-2-mingw32-dev/include'
Important settings:
value of $LANG: ENU
locale-coding-system: cp1252
default enable-multibyte-characters: t
[2] Build from the trunk:
In GNU Emacs 24.3.50.1 (i386-mingw-nt6.1.7601)
of 2013-04-21 on LEG570
Bzr revision: 112347 address@hidden
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --with-gcc (4.7) --no-opt --enable-checking --cflags
-IC:/emacs/libs/libXpm-3.5.10/include -IC:/emacs/libs/libXpm-3.5.10/src
-IC:/emacs/libs/libpng-dev_1.4.3-1_win32/include
-IC:/emacs/libs/zlib-dev_1.2.5-2_win32/include
-IC:/emacs/libs/giflib-4.1.4-1-lib/include
-IC:/emacs/libs/jpeg-6b-4-lib/include
-IC:/emacs/libs/tiff-3.8.2-1-lib/include
-IC:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2
-IC:/emacs/libs/gnutls-3.1.10-w32/include
-IC:/emacs/libs/libiconv-1.14-2-mingw32-dev/include'
Important settings:
value of $LANG: ENU
locale-coding-system: cp1252
default enable-multibyte-characters: t
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#14403: 24.3.50; [regression] Typing non-ascii characters on a non-GUI MS-Windows session |
Date: |
Thu, 23 May 2013 10:02:14 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
I installed the patch below which I hope fixes this problem.
Stefan
=== modified file 'src/ChangeLog'
--- src/ChangeLog 2013-05-22 21:35:00 +0000
+++ src/ChangeLog 2013-05-23 13:22:33 +0000
@@ -1,3 +1,7 @@
+2013-05-23 Stefan Monnier <address@hidden>
+
+ * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403).
+
2013-05-22 Barry OReilly <address@hidden> (tiny change)
* casetab.c (init_casetab_once): Fix last change (bug#14424).
=== modified file 'src/keyboard.c'
--- src/keyboard.c 2013-04-14 20:33:57 +0000
+++ src/keyboard.c 2013-05-23 13:21:53 +0000
@@ -6827,6 +6827,8 @@
/* 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 @@
{
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 @@
= Fcons (events[--n], Vunread_command_events);
return events[0];
}
+#endif
}
}
--- End Message ---