delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/02/16/10:56:10

Date: Wed, 16 Feb 2000 16:01:48 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Esa A E Peuha <peuha AT cc DOT helsinki DOT fi>
cc: djgpp AT delorie DOT com
Subject: Re: Problems with Emacs 20.5
In-Reply-To: <Pine.OSF.4.20.0002161223330.28606-100000@sirppi.helsinki.fi>
Message-ID: <Pine.SUN.3.91.1000216154904.10567B-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: dj-admin AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019