Mail Archives: djgpp/2000/02/16/10:56:10
On Wed, 16 Feb 2000, Esa A E Peuha wrote:
> First,
> the quote "MS-DOS doesn't allow use of several codepages in a single
> session. Instead, MS-DOS loads a single codepage at system startup,
> and you must reboot MS-DOS to change it" from the manual is not true;
> DOS does allow more than one codepage to be loaded at startup, and they
> can be changed with the CHCP command.
Right. However, Emacs currently doesn't support the equivalent of CHCP
during the session, so the wording in the manual, while misleading about
DOS in general, is accurate as far as Emacs is concerned.
In any case, even if CHCP is supported, you won't be able to mix several
different character sets on the same display: CHCP changes all of the
displayed characters at once.
> Second, entering non-ASCII characters doesn't work.
It does work, just not in the way you tried it.
> For example, typing ``C-x 8 " A'' produces code
> 196, which is the code for A-umlaut in iso-latin-1, but it is interpreted
> in the context of the current code page
You cannot currently use `C-x 8' (and any other variants of 8-bit input)
in the DJGPP version of Emacs. You need to install the Leim package
(lei2005b.zip) and use one of the input methods provided there for your
language. For Latin-1, you have a variety of latin-1-* input methods;
choose the one you like most.
The problem with direct input of 8-bit characters is that the DOS
keyboard generates codes in the current codepage, which are different
from the Latin-N encodings of those same characters. The Right Way to
solve this would be to use cpNNN (cp437 in your case) as the keyboard
coding system, which will cause Emacs to perform the conversion
automatically. However, due to a subtle limitation of the CCL decoder
used to implement the codepage support, Emacs will currently refuse to
set keyboard coding system to any of the cpNNN family. (This limitation
is removed in the development sources and the corrected code will be in
Emacs 21. If you really are desperate, I can mail you a single Lisp file
that should make this work, but I'm not sure if it will work with Emacs
20.5.)
- Raw text -