Subject: upcasing and readtable

From: [email-masked] (Jorg-Cyril Hohle)
Date: Sun, 29 Mar 1998 22:15:08 +0200

Hi,

I've been using CLISP within a Korean project and observed a
difference in behaviour between CLISP and CMUCL.  I used the following
to make both Lisps accept Korean 16-bit encoded Hangul characters.  I
don't have the specification, but I've been told that the MSB of
Hangul characters is set to 1 and from what I see the 7th bit of the
second byte is also set to 1.

;;;
;;; Try to accept ISO and Korean characters as regular upper-case ones
;;;
(loop for i from #x80 to #xFF do ;; A0 seems enough
      (set-syntax-from-char (code-char i) #\A))

All I need to do is to accept these characters as symbol constituents,
pass them through under the default readtable (I cannot use a
readtable that is not :upcase as it would foul mixed english & Korean
text) and print them later.  However, it seems that CLISP always
converts characters according to ISO_8859_1 or some such.

> (lisp-implementation-version)
"1997-08-07 (Aou>t 1997)"
> '>>\"o>>\'o		; my un-iso-ed TeX notation for email

>>\"O>>\'O

What's the relationship between the readtable, casing, read&print?

Is there a way to tell CLISP that the character set it has to handle
is not the OS-native one (ISOLATIN_CHS on AmigaOS, HPROMAN8_CHS,
IBMPC_CHS etc.)?

Thanks,
	Jo"rg Ho"hle.
[email-masked]		http://zeus.gmd.de/~hoehle/amiga-clisp.html