[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/w32term.c,v [EMACS_22_BASE]
From: |
Jason Rumney |
Subject: |
[Emacs-diffs] Changes to emacs/src/w32term.c,v [EMACS_22_BASE] |
Date: |
Tue, 05 Feb 2008 23:47:22 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Branch: EMACS_22_BASE
Changes by: Jason Rumney <jasonr> 08/02/05 23:47:22
Index: w32term.c
===================================================================
RCS file: /sources/emacs/emacs/src/w32term.c,v
retrieving revision 1.259.2.9
retrieving revision 1.259.2.10
diff -u -b -r1.259.2.9 -r1.259.2.10
--- w32term.c 17 Jan 2008 11:37:44 -0000 1.259.2.9
+++ w32term.c 5 Feb 2008 23:47:21 -0000 1.259.2.10
@@ -4338,7 +4338,7 @@
}
}
- /* Now process unicode input as per xterm.c */
+ /* Process unicode input for ASCII and ISO Control only. */
if (code < 0x80)
{
inev.kind = ASCII_KEYSTROKE_EVENT;
@@ -4346,33 +4346,14 @@
}
else if (code < 0xA0)
inev.code = MAKE_CHAR (CHARSET_8_BIT_CONTROL, code, 0);
- else if (code < 0x100)
- inev.code = MAKE_CHAR (charset_latin_iso8859_1, code, 0);
else
{
- int c1, c2;
- int charset_id;
-
- if (code < 0x2500)
- {
- charset_id = charset_mule_unicode_0100_24ff;
- code -= 0x100;
- }
- else if (code < 0x3400)
- {
- charset_id = charset_mule_unicode_2500_33ff;
- code -= 0x2500;
- }
- else if (code >= 0xE000)
- {
- charset_id = charset_mule_unicode_e000_ffff;
- code -= 0xE000;
- }
- else
- {
- /* Not in the unicode range that we can handle in
- Emacs-22, so decode the original character
- using the locale */
+ /* Many locales do not have full mapping from
+ unicode on save, so use the locale coding to
+ decode them. Windows only allows non-Unicode
+ Windows to receive characters in the system
+ locale anyway, so this doesn't really limit
+ us. */
int nbytes, nchars, require, i, len;
unsigned char *dest;
struct coding_system coding;
@@ -4415,13 +4396,6 @@
count++;
}
inev.kind = NO_EVENT; /* Already handled */
- break;
- }
-
- /* Unicode characters from above. */
- c1 = (code / 96) + 32;
- c2 = (code % 96) + 32;
- inev.code = MAKE_CHAR (charset_id, c1, c2);
}
}
else
@@ -4430,7 +4404,6 @@
in non-Unicode message handlers. */
DebPrint (("Non-byte WM_CHAR: %d\n", msg.msg.wParam));
inev.kind = NO_EVENT;
- break;
}
}
break;
- [Emacs-diffs] Changes to emacs/src/w32term.c,v [EMACS_22_BASE],
Jason Rumney <=