From: Eli Zaretskii Date: Wed, 6 Mar 2013 16:21:26 +0000 (+0200) Subject: Fix bug #13879 with raw-text encoding of msdos.c. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~2026^2~610 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d26e478eaa7c743b999fbcd995cc8c09ecbcc6c8;p=emacs.git Fix bug #13879 with raw-text encoding of msdos.c. src/msdos.c: Change encoding to cp850. (Bug#13879) (fr_keyboard, it_keyboard, dk_keyboard): Update keyboard layouts. --- diff --git a/src/ChangeLog b/src/ChangeLog index 00d78a83336..7e5a2b71026 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-03-06 Eli Zaretskii + + * msdos.c: Change encoding to cp850. (Bug#13879) + (fr_keyboard, it_keyboard, dk_keyboard): Update keyboard layouts. + 2013-03-06 Dmitry Antipov Coding system support cleanup and minor refactoring. diff --git a/src/msdos.c b/src/msdos.c index ac8c90455d7..ee47109d5f2 100644 --- a/src/msdos.c +++ b/src/msdos.c @@ -1,4 +1,4 @@ -/* MS-DOS specific C utilities. -*- coding: raw-text -*- +/* MS-DOS specific C utilities. -*- coding: cp850 -*- Copyright (C) 1993-1997, 1999-2013 Free Software Foundation, Inc. @@ -20,6 +20,13 @@ along with GNU Emacs. If not, see . */ /* Contributed by Morten Welinder */ /* New display, keyboard, and mouse control by Kim F. Storm */ +/* Note: This file MUST use a unibyte encoding, to both display the + keys on the non-US keyboard layout as their respective labels, and + provide the correct byte values for the keyboard input to inject + into Emacs. See 'struct dos_keyboard_map' below. As long as there + are only European keyboard layouts here, we are OK with DOS + codepage 850 encoding. */ + /* Note: some of the stuff here was taken from end of sysdep.c in demacs. */ #include @@ -1965,10 +1972,10 @@ struct dos_keyboard_map static struct dos_keyboard_map us_keyboard = { /* 0 1 2 3 4 5 */ -/* 01234567890123456789012345678901234567890 12345678901234 */ - "`1234567890-= qwertyuiop[] asdfghjkl;'\\ zxcvbnm,./ ", +/* 01234567890123456789012345678901234567890 123 45678901234 */ + "`1234567890-= qwertyuiop[] asdfghjkl;'\\ \\zxcvbnm,./ ", /* 0123456789012345678901234567890123456789 012345678901234 */ - "~!@#$%^&*()_+ QWERTYUIOP{} ASDFGHJKL:\"| ZXCVBNM<>? ", + "~!@#$%^&*()_+ QWERTYUIOP{} ASDFGHJKL:\"| |ZXCVBNM<>? ", 0, /* no Alt-Gr key */ 0 /* no translate table */ }; @@ -1976,9 +1983,9 @@ static struct dos_keyboard_map us_keyboard = { static struct dos_keyboard_map fr_keyboard = { /* 0 1 2 3 4 5 */ /* 012 3456789012345678901234567890123456789012345678901234 */ - "ý&‚\",(-Š_€…)= azertyuiop^$ qsdfghjklm—* wxcvbnm;:! ", + "ý&‚\"'(-Š_€…)= azertyuiop^$ qsdfghjklm—* WXCVBN?./õ ", /* 01234567 89012345678901234567890123456789012345678901234 */ " ~#{[|`\\^@]} Ï ", 0 /* no translate table */ @@ -2000,9 +2007,9 @@ static struct kbd_translate it_kbd_translate_table[] = { static struct dos_keyboard_map it_keyboard = { /* 0 1 2 3 4 5 */ /* 0 123456789012345678901234567890123456789012345678901234 */ - "\\1234567890'< qwertyuiopŠ+> asdfghjkl•…— zxcvbnm,.- ", + "\\1234567890'< qwertyuiopŠ+> asdfghjkl•…— QWERTYUIOP‚* ASDFGHJKL‡øõ ZXCVBNM;:_ ", + "|!\"œ$%&/()=?^> QWERTYUIOP‚* ASDFGHJKL‡øõ >ZXCVBNM;:_ ", /* 0123456789012345678901234567890123456789012345678901234 */ " {}~` [] @# ", it_kbd_translate_table @@ -2011,9 +2018,9 @@ static struct dos_keyboard_map it_keyboard = { static struct dos_keyboard_map dk_keyboard = { /* 0 1 2 3 4 5 */ /* 0123456789012345678901234567890123456789012345678901234 */ - "«1234567890+| qwertyuiop†~ asdfghjkl‘›' zxcvbnm,.- ", + "«1234567890+| qwertyuiop†~ asdfghjkl‘›' ZXCVBNM;:_ ", /* 0123456789012345678901234567890123456789012345678901234 */ " @œ$ {[]} | ", 0 /* no translate table */