Subject: bug#14403: closed (Re: bug#14403: 24.3.50; [regression] Typing non-ascii characters on a non-GUI MS-Windows session)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 23 May 2013 14:04:03 +0000

Your bug report

#14403: 24.3.50; [regression] Typing non-ascii characters on a non-GUI MS-Windows session

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

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

Subject: Re: bug#14403: 24.3.50; [regression] Typing non-ascii characters on a non-GUI MS-Windows session
From: Stefan Monnier <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Thu, 23 May 2013 10:02:14 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

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  <[email-masked]>
+
+	* keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403).
+
 2013-05-22  Barry OReilly  <[email-masked]>  (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
     }
 }

Subject: 24.3.50; [regression] Typing non-ascii characters on a non-GUI MS-Windows session
From: [email-masked]
To: [email-masked]
Date: Tue, 14 May 2013 21:11:22 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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 [email-masked]
  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 [email-masked]
  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