Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!bu-cs!purdue!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!enea!zyx!arndt
From: arndt@zyx.SE (Arndt Jonasson)
Newsgroups: comp.emacs
Subject: non-ASCII support
Message-ID: <2641@zyx.SE>
Date: 21 Jun 88 13:26:39 GMT
Reply-To: arndt@zyx.SE (Arndt Jonasson)
Organization: ZYX Sweden AB, Stockholm, Sweden
Lines: 55


Suggestions for how Gnu Emacs can be made to handle non-ASCII.

["non-ASCII characters" below refer to those characters in the set of
8-bit characters (of which set ASCII is a subset) that have codes >
127. Thus, they don't include EBCDIC or 16-bit characters.]

With the advent of the ISO Latin-1 standard, non-ASCII characters in
text files are going to be increasingly common, and already there are
manufacturers who support non-ASCII characters in their operating
systems.  Therefore, a few suggestions on how support for them can be
accomplished in Gnu Emacs with only minor effort.


1) Display.

With fairly minor changes to the C code, Emacs can be made to display
characters with codes > 127 not in the usual way (e.g. \314), but as
themselves, assuming that the virtual terminal can handle such
characters. The changes involve a half dozen tests in xdisp.c and
indent.c, including a Lisp flag to toggle the new functionality on and
off.


2) Input.

Assuming that the virtual terminal possesses the capability to let the
user enter non-ASCII characters from the keyboard, support for easy
input of them in Emacs (easy = without needing C-Q) can be implemented
in Lisp alone, with no C changes.


3) Character syntax.

This is affected by the Lisp function 'modify-syntax-entry' and
presents no problems.


4) Upper/lower-case conversion.

This is not available as a user-settable table. I suggest that it be
made user-settable, either by making the tables available as strings,
or through Lisp functions.


These are the areas that have come to my mind; are there any that I
have forgotten? I am using Gnu Emacs 18.49.


If there is interest among the Gnu Emacs developers to implement the
above suggestions, I will gladly supply the code that I have (which
implements 1 and 2).
-- 
Arndt Jonasson, ZYX Sweden AB, Styrmansgatan 6, 114 54 Stockholm, Sweden
email address:	 arndt@zyx.SE	or	!mcvax!enea!zyx!arndt